Zum Beispiel:Wie ein konvertieren für Schleifenausgang in eine Liste (Python)
for y,x in zip(range(0,4,1),range(0,8,2)):
print(x+y)
Returns:
0
3
6
9
Was ich will, ist:
['0','3','6','9']
Wie kann ich Dies erreichen?
Zum Beispiel:Wie ein konvertieren für Schleifenausgang in eine Liste (Python)
for y,x in zip(range(0,4,1),range(0,8,2)):
print(x+y)
Returns:
0
3
6
9
Was ich will, ist:
['0','3','6','9']
Wie kann ich Dies erreichen?
Der einfachste Weg, um Ihr Verständnis, ohne list comprehension zu verwenden, ist:
mylist = []
for y,x in zip(range(0,4,1),range(0,8,2)):
mylist.append(str(x+y))
print mylist
Ausgang:
['0','3','6','9']
Verwenden Sie den Klassennamen 'list' nicht als Variablennamen. –
Versuchen Sie, diese list comprehension
>>>[x+y for y,x in zip(range(0,4,1),range(0,8,2))]
[0, 3, 6, 9]
>>>[str(x+y) for y,x in zip(range(0,4,1),range(0,8,2))]
['0', '3', '6', '9']
Sie mit Liste dynamisch generieren:
print [str(x+y) for x, y in zip(range(0,4,1), range(0,8,2))]
['0','3','6','9']
Diese Technik list comprehensions genannt.
Sie die für Schleifen und map()
und add
importieren aus operator
from operator import add
l = map(add,range(0,4,1),range(0,8,2))
print l
[0, 3, 6, 9]
Und wenn Sie es als Strings wollen könnten Sie
from operator import add
l = map(add,range(0,4,1),range(0,8,2))
print map(str, l)
['0','3', '6', '9']
'mylist = [(x + y) für x, y in zip (Bereich (0,4,1), Bereich (0,8,2) tun)] ' – khelwood
Wollen Sie die Antworten speziell als Strings? Wenn Sie weitere Arithmetik (einschließlich Sortierung) durchführen möchten, ist es am besten, sie als Zahlen zu behalten (sie verwenden auch weniger RAM in numerischer Form); Sie können sie einfach in Strings konvertieren, wenn Sie sie ausgeben. –