将字符串转换为列表

时间:2011-04-13 06:52:22

标签: python string list python-2.5

  

可能重复:
  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'
>>> 

1 个答案:

答案 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)
>>>