【发布时间】:2013-03-12 02:56:43
【问题描述】:
如何将一串整数列表转换为整数列表?
示例输入:(类型:字符串)
"[156, 100, 713]"
转换示例:(类型:int 列表)
[156, 100, 713]
【问题讨论】:
-
去掉字符串的第一个和最后一个字符然后拆分','我觉得效率不高,所以在这里问。
如何将一串整数列表转换为整数列表?
示例输入:(类型:字符串)
"[156, 100, 713]"
转换示例:(类型:int 列表)
[156, 100, 713]
【问题讨论】:
试试这个:
import ast
res = ast.literal_eval('[156, 100, 713]')
【讨论】:
使用ast.literal_eval 就可以了。在这里你没有常规eval的所有安全问题,你也不需要担心确保你的字符串格式正确等等。当然,如果你真的想自己解析这个东西,你可以这样做它有一个非常简单的列表理解:
s = "[156, 100, 713]"
print [ int(x) for x in s.translate(None,'[]').split(',') ]
【讨论】:
>>> import json
>>> a = "[156, 100, 713]"
>>> json.loads(a)
[156, 100, 713]
【讨论】: