删除字符串周围的单引号

时间:2020-09-23 14:42:29

标签: python python-3.x

这感觉真是愚蠢,但我只是找不到解决方案。 我有一个列表,例如列表['1,2']。如何将其更改为[1,2]?

我尝试了类似list.remove的其他方式,但无济于事。

4 个答案:

答案 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的方法,