it-swarm.com.de

Konvertieren Sie alle Zeichenfolgen in einer Liste in int

In Python möchte ich alle Zeichenfolgen in einer Liste in Ganzzahlen konvertieren.

Also wenn ich habe:

results = ['1', '2', '3']

Wie mache ich das:

results = [1, 2, 3]
516
Michael

Verwenden Sie die Funktion map (in Python 2.x):

results = map(int, results)

In Python 3 müssen Sie das Ergebnis von map in eine Liste konvertieren:

results = list(map(int, results))
1024
cheeken

Verwenden Sie ein Listenverständnis :

results = [int(i) for i in results]

z.B.

>>> results = ["1", "2", "3"]
>>> results = [int(i) for i in results]
>>> results
[1, 2, 3]
343
Chris Vig

Etwas erweiterter 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]

Ebenfalls:

def str_list_to_int_list(str_list):
    int_list = [int(n) for n in str_list]
    return int_list
1
2RMalinowski

Es gibt verschiedene Möglichkeiten, dies zu tun:

1) Mit Karte:

def toInt(string):
    return int(string)


equation = ["10", "11", "12"]
equation = map(toInt, equation)
for i in equation:
    print(type(i), i)

2) Ohne map ()

equation = ["10", "11", "12"]
new_list = []
for i in equation:
    new_list.append(int(i))

equation = new_list
print(equation)

Es gibt eine Reihe von Möglichkeiten, es zu tun ..

1