在我尝试编写的代码中,我想将一个包含数字的字符串转换为一个列表,其中每个元素都是该字符串的一个数字。

我尝试使用 sub ,一个 re 函数,但在特定情况下我没有想要的结果。

x = "8 1 2 9 12"
liste= []
final = []

for s in x:
    liste.append(re.sub('\s+',"", s))
for element in liste:
    if element =="":
        liste.remove("")

for b in liste:
    if b != 'X':
        final += [int(b)]
    else:
        final+=["X"]

我期望 [8,1,2,9,12] 的输出,但实际输出是 [8,1,2,9,1,2]

最佳答案

如果只有空格和数字,则只需要使用 split 方法

x = "8 1 2 9 12"
print([int(i) for i in x.split()])

output:
[8, 1, 2, 9, 12]

关于python - 如何使用正则表达式将字符串元素转换为列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56848770/

10-12 16:04