Was ist der einfachste Weg, Liste mit str
in Liste mit int
in Python zu konvertieren? Zum Beispiel müssen wir ['1', '2', '3']
zu [1, 2, 3]
konvertieren. Natürlich können wir eine for
Schleife verwenden, aber es ist zu einfach.Was ist der einfachste Weg, um Liste mit str in Liste mit int zu konvertieren?
Antwort
[int(i) for i in str_list]
Das '' 'am Ende ist falsch, aber sonst +1 –
+1 Ich mag wirklich' map', aber Generatoren sind viel besser lesbar. –
Sie auch Liste Kumul nutzen könnten ENSIONS:
new = [int(i) for i in old]
Oder die map()
eingebaute Funktion:
new = map(int, old)
Oder die itertools.imap()
-Funktion, die eine Beschleunigung in einigen Fällen aber in diesem Fall liefert spuckt nur einen Iterator aus, die Sie benötigen in eine Liste konvertieren (so wird es wahrscheinlich die gleiche Zeit dauern):
import itertools as it
new = list(it.imap(int, old))
Wenn Ihre Zeichenfolgen nicht nur Zahlen sind (dh. Sie können verwenden:
Wenn es Array ist und hat numpy installiert. Wir können auch den folgenden Code verwenden.
import numpy as np
np.array(['1', '2', '3'],dtype=int)
Ich habe den Eindruck, dass 'map' im Allgemeinen nicht gemocht wird. Es wurde sogar fast aus Python 3 entfernt. – pafcu