2011-09-10 12 views
343

Powiel możliwe:
How to convert strings into integers in python?
How to convert a string list into an integer in pythonKonwersja wszystkie sznurki w liście do int

W python, chcę przekonwertować wszystkie sznurki w liście do int.

Więc jeśli mam:

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

Jak zrobić to:

results = [1, 2, 3] 
+0

Zobacz to: http://stackoverflow.com/questions/642154/how-to-convert-strings-into-integers-in-python –

+0

Niestety, które powinny być nie odpowiedź komentarz. Zobacz tę odpowiedź: http://stackoverflow.com/questions/642154/how-to-convert-strings-into-integers-in-python –

Odpowiedz

720

Użyj funkcji map (w Py2):

results = map(int, results) 

W py3:

results = list(map(int, results)) 
+9

Chcę podkreślić, że pylinta zniechęca do używania 'map', więc przygotuj się do w każdym razie używaj rozumienia list, jeśli kiedykolwiek użyjesz tego standardu. :) – ThorSummoner

+1

Odwrotna jest (aby przekonwertować listę int do listy ciągów): map (str, wyniki) –

+0

Możesz uprościć tę odpowiedź: po prostu zawsze używaj 'list (map (int, results)), to działa dla dowolna wersja Pythona. – mvp

217

Użyj listowych:

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

np

>>> results = ["1", "2", "3"] 
>>> results = [int(i) for i in results] 
>>> results 
[1, 2, 3] 
+22

Zrozumienie listy jest również świetne. Do PO - zobacz tutaj, aby zobaczyć ładny kontrast mapy i zrozumienia list: http://stackoverflow.com/questions/1247486/python-list-comprehension-vs-map – cheeken