将字符串转换为包含负数的整数列表

1 投票
4 回答
9227 浏览
提问于 2025-04-18 13:40

我想把这个字符串

-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]

撰写回答