2011-09-10 35 views
343

thể trùng lặp:
How to convert strings into integers in python?
How to convert a string list into an integer in pythonChuyển đổi tất cả các chuỗi trong một danh sách để int

Trong python, tôi muốn chuyển đổi tất cả các chuỗi trong một danh sách để ints.

Vì vậy, nếu tôi có:

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

Làm thế nào để làm cho nó:

results = [1, 2, 3] 
+0

Xem này: http://stackoverflow.com/questions/642154/how-to-convert-strings-into-integers-in-python –

+0

Xin lỗi rằng cần phải có được một câu trả lời không phải là một nhận xét. Xem câu trả lời này: http://stackoverflow.com/questions/642154/how-to-convert-strings-into-integers-in-python –

Trả lời

720

Sử dụng chức năng bản đồ (trong py2):

results = map(int, results) 

Trong py3:

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

Tôi muốn chỉ ra rằng pylint không khuyến khích sử dụng 'map', vì vậy hãy chuẩn bị sử dụng danh sách hiểu anyway nếu bạn đã từng sử dụng tiêu chuẩn đó. :) – ThorSummoner

+1

Nghịch đảo là (để chuyển đổi danh sách int thành danh sách chuỗi): map (str, results) –

+0

Bạn có thể đơn giản hóa câu trả lời này: chỉ cần luôn sử dụng 'list (map (int, results))', nó hoạt động bất kỳ phiên bản Python nào. – mvp

217

Sử dụng danh sách hiểu:

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

ví dụ:

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

Việc hiểu danh sách cũng tuyệt vời. Để OP - xem ở đây để xem một sự tương phản tốt đẹp của bản đồ và danh sách hiểu: http://stackoverflow.com/questions/1247486/python-list-comprehension-vs-map – cheeken

Các vấn đề liên quan