首页 文章

从未排序的字符串中获取数字并将其转换为列表,每个数字用逗号分隔

提问于
浏览
0

我有一个输入:

L1 = input()

我希望输出为:

[1, 7, -3, 10, 42, 5, 0, 17]

输入为“1 7 -3 10 42 5 0 17”,这意味着当我打印L1时,它会产生:

1 7 -3 10 42 5 0 17

使用inp(input())给出了“带有基数10的int()的无效文字:” . 使用.split不会更改输出 .

如果我将用户输入作为列表,那么它会产生:

[1 7 -3 10 42 5 0 17]

该数字串不能单独输入,必须作为一个整体输入,然后用逗号“分割” . 然而;

L1 = input()
L1.split() or L1.split(",")
print(L1)

只是收益...

1 7 -3 10 42 5 0 17

2 回答

  • 0

    为了正确更新L1,您必须为其分配L1.split()返回的值 .

    L1 = "1 7 -3 10"
    L1 = L1.split()
    print(L1)
    

    Output: ['1', '7', '-3', '10']

    或者如果你想要一个整数列表:

    L1 = "1 7 -3 10"
    L1 = [int(i) for i in L1.split()]
    print(L1)
    

    Output: [1, 7, -3, 10]

  • 0

    如果要按空格或逗号分割,则应使用正则表达式拆分 . 此外,拆分项的类型为 str ,您可能希望将它们转换为类型 int .

    这是代码:

    import re
    L1 = input()
    L1 = [int(i) for i in re.split('[\s,]+', L1) if i]
    print(L1)
    

相关问题