2014-04-06 82 views
1
a=['(10,13)', '(23,45)', '(56,78)'] 

這裏的每個項目在列表a是一個字符串如何從字符串列表檢索的元組元組

我想要的其他名單如下:

b=[(10,13),(23,45),(56,78)] 

其中每個項目是一個元組和每個元組中的每個元素都是一個整數。

回答

6

使用ast.literal_evallist comprehension

>>> from ast import literal_eval 
>>> a = ['(10,13)', '(23,45)', '(56,78)'] 
>>> b = [literal_eval(x) for x in a] 
>>> b 
[(10, 13), (23, 45), (56, 78)] 
>>> 
2

您可以使用ast.literal_eval

>>> from ast import literal_eval 
>>> a = ['(10,13)', '(23,45)', '(56,78)'] 
>>> b = [literal_eval(s) for s in a] 
>>> b 
[(10, 13), (23, 45), (56, 78)] 
1

您還可以使用地圖:

from ast import literal_eval 
a=['(10,13)', '(23,45)', '(56,78)'] 
b=map(literal_eval,a) #[(10, 13), (23, 45), (56, 78)]