将字符串转换为包含负数的整数列表
我想把这个字符串
-1, -2, 3, 4, 5
转换成一个包含这些值的列表。
[-1, -2, 3, 4, 5]
当这些值是正数的时候,我有很多方法可以做到,但一旦出现“-”这个字符,我就不知道该怎么处理了。
如果可以的话,我希望不使用正则表达式。
4 个回答
1
简单:
s = '-1, -2, 3, 4, 5'
lst = [int(x.strip()) for x in s.split(',')]
1
为了完整地解决这个问题,这里有一个使用 ast.literal_eval 的方法。
>>> import ast
>>> list(ast.literal_eval("-1, -2, 3, 4, 5"))
[-1, -2, 3, 4, 5]
3
你可以直接把它分开,然后用 map 函数把它们转换成整数,下面是示例代码:
arr = map(int,s.strip().split(','))
5
string = "-1, -2, 3, 4, 5"
print [int(el) for el in string.split(',')]
输出:
[-1, -2, 3, 4, 5]