2014-04-06 50 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)]