这感觉真是愚蠢,但我只是找不到解决方案。 我有一个列表,例如列表['1,2']。如何将其更改为[1,2]?
我尝试了类似list.remove的其他方式,但无济于事。
答案 0 :(得分:1)
这会将字符串列表转换为整数列表。
位置:
list_ = ['1, 2']
代码:
[int(j) for i in list_ for j in i.split(',')]
不应使用替换,而应正确处理数据结构。
答案 1 :(得分:0)
您只需使用正则表达式即可,而不必担心之间的空格或字符数:
import re
l = ['1, 2']
res = [int(n) for n in re.findall('\d+', l[0])]
print(res)
输出:
[1, 2]
当然,如果您希望将这样的字符串列表合并为一个列表,则可以执行以下操作:
import re
l = ['1, 2', '3,4']
res = [int(n) for n in re.findall('\d+', " ".join(l))]
print(res)
输出:
[1, 2, 3, 4]
如果您还想支持浮点数,则可以对正则表达式进行一些更改:
import re
l = ['1, 2', '3,4', '5.6, 7.8']
res = [float(n) for n in re.findall('\d+(?:\.?\d+)?', " ".join(l))]
res = [int(n) if n.is_integer() else n for n in res]
print(res)
输出:
[1, 2, 3, 4, 5.6, 7.8]
答案 2 :(得分:0)
最适合您的
listch = ['1, 2']
list(map(int, listch[0].split(',')))
答案 3 :(得分:0)
您需要将字符串强制转换为整数
list = ['1', '2', '3']
for num in list:
print(int(num))
您可以在python中查找将字符串强制转换为int的方法,