2012-04-13 31 views
9

在我試圖第一個列表轉換爲使用地圖功能的整數列表如何能夠做到以下這字符串轉換爲整數使用地圖()

T1 = ['13', '17', '18', '21', '32'] 
print T1 
T3=[map(int, x) for x in T1] 
print T3 
[[1, 3], [1, 7], [1, 8], [2, 1], [3, 2]] 

Expected is: 

T3=[13,17,18,21,32] 

回答

28
>>> T1 = ['13', '17', '18', '21', '32'] 
>>> T3 = map(int, T1) 
>>> T3 
[13, 17, 18, 21, 32] 

這做同樣的事情如:

>>> T3 = [int(x) for x in T1] 
>>> T3 
[13, 17, 18, 21, 32] 

所以你在做什麼是

>>> T3 = [[int(letter) for letter in x] for x in T1] 
>>> T3 
[[1, 3], [1, 7], [1, 8], [2, 1], [3, 2]] 

希望能夠消除混亂。

+0

酷感謝..... – Rajeev 2012-04-13 17:21:29

+0

偉大的答案..... – lopezdp 2016-11-06 04:11:27

2
>>> T1 = ['13', '17', '18', '21', '32'] 
>>> print [int(x) for x in T1] 
[13, 17, 18, 21, 32] 

你不需要在你的列表理解內的地圖。地圖創建另一個列表,所以你最終列出一個列表。

警告:如果字符串被授予數字,這將工作,否則會引發異常。

+0

尼斯感謝..... – Rajeev 2012-04-13 17:24:02

-4

你可以像下面這樣做

>>>T1 = ['13', '17', '18', '21', '32'] 
>>>list(map(int,T1)) 
+1

這是怎麼回事任何不同jamylak的[答案] (https://stackoverflow.com/a/10145364/369450)? – cpburnz 2018-02-24 18:30:13