可能重复:
Converting a string that represents a list, into an actual list object.
喜
我有一个这种格式的字符串:
>>> x="(174,185)"
>>> x
'(174,185)'
如何将此字符串转换为列表,以便我可以将索引0作为174并将索引1作为185进行访问?我正在使用Python 2.5&赢得XP。 我尝试了几种方法,但效果不佳。感谢你的建议。 TQ
>>> y=x.split(",")
>>> y
['(174', '185)']
>>> y[0]
'(174'
>>> [int(x) for x in x.split(",")]
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
[int(x) for x in x.split(",")]
ValueError: invalid literal for int() with base 10: '(174'
>>>
答案 0 :(得分:3)
你可以试试这个
y=x[1:-1].split(",")
在拆分之前去除了parens
>>> x="(174,185)"
>>> map(int, x[1:-1].split(','))
[174, 185]
如果你有python2.6 +
,你也可以使用literal_eval>>> from ast import literal_eval
>>> literal_eval(x)
(174, 185)
>>>