Wie konvertiere ich alle Zeichenketten in einer Liste in ganze Zahlen?
['1', '2', '3'] [1, 2, 3]
Wie konvertiere ich alle Zeichenketten in einer Liste in ganze Zahlen?
['1', '2', '3'] [1, 2, 3]
Ein wenig umfangreicher als das Listenverständnis, aber ebenfalls nützlich:
def str_list_to_int_list(str_list):
n = 0
while n < len(str_list):
str_list[n] = int(str_list[n])
n += 1
return(str_list)
z.B..
>>> results = ["1", "2", "3"]
>>> str_list_to_int_list(results)
[1, 2, 3]
Auch:
def str_list_to_int_list(str_list):
int_list = [int(n) for n in str_list]
return int_list
Hier ist eine einfache Lösung mit Erklärung für Ihre Frage.
a=['1','2','3','4','5'] #The integer represented as a string in this list
b=[] #Fresh list
for i in a: #Declaring variable (i) as an item in the list (a).
b.append(int(i)) #Look below for explanation
print(b)
Hier, anhängen() wird verwendet, um Elemente (d. h. die ganzzahlige Version der Zeichenkette (i) in diesem Programm) an das Ende der Liste (b) anzufügen.
Anmerkung: int() ist eine Funktion, die dabei hilft, eine ganze Zahl in Form einer Zeichenkette wieder in ihre ganzzahlige Form umzuwandeln.
Ausgabekonsole:
[1, 2, 3, 4, 5]
Daher können wir die Zeichenketten in der Liste nur dann in eine ganze Zahl umwandeln, wenn die angegebene Zeichenkette vollständig aus Zahlen besteht, andernfalls wird ein Fehler erzeugt.
Ich möchte noch hinzufügen Python | Konvertierung aller Zeichenketten in einer Liste in Ganzzahlen
Methode #1: Naive Methode
# Python3 code to demonstrate
# converting list of strings to int
# using naive method
# initializing list
test_list = ['1', '4', '3', '6', '7']
# Printing original list
print ("Original list is : " + str(test_list))
# using naive method to
# perform conversion
for i in range(0, len(test_list)):
test_list[i] = int(test_list[i])
# Printing modified list
print ("Modified list is : " + str(test_list))
Ausgabe:
Original list is : ['1', '4', '3', '6', '7']
Modified list is : [1, 4, 3, 6, 7]
Methode Nr. 2: Verwendung des Listenverständnisses
# Python3 code to demonstrate
# converting list of strings to int
# using list comprehension
# initializing list
test_list = ['1', '4', '3', '6', '7']
# Printing original list
print ("Original list is : " + str(test_list))
# using list comprehension to
# perform conversion
test_list = [int(i) for i in test_list]
# Printing modified list
print ("Modified list is : " + str(test_list))
Ausgabe:
Original list is : ['1', '4', '3', '6', '7']
Modified list is : [1, 4, 3, 6, 7]
Methode #3 : Verwendung von map()
# Python3 code to demonstrate
# converting list of strings to int
# using map()
# initializing list
test_list = ['1', '4', '3', '6', '7']
# Printing original list
print ("Original list is : " + str(test_list))
# using map() to
# perform conversion
test_list = list(map(int, test_list))
# Printing modified list
print ("Modified list is : " + str(test_list))
Ausgabe:
Original list is : ['1', '4', '3', '6', '7']
Modified list is : [1, 4, 3, 6, 7]
Die folgenden Antworten, auch die beliebtesten, sind nicht für alle Situationen geeignet. Ich habe eine solche Lösung für super resistente Schubstr. Ich hatte so ein Ding:
AA = ['0', '0.5', '0.5', '0.1', '0.1', '0.1', '0.1']
AA = pd.DataFrame(AA, dtype=np.float64)
AA = AA.values.flatten()
AA = list(AA.flatten())
AA
[0.0, 0.5, 0.5, 0.1, 0.1, 0.1, 0.1]
Sie können lachen, aber es funktioniert.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.