AttributeError:'tuple'对象没有带有input()结果的属性'split'?

Chr*_*s G 2 python python-2.7

(这是家庭作业)这就是我所拥有的:

L1 = list(map(int, input().split(",")))
Run Code Online (Sandbox Code Playgroud)

我遇到了

  File "lab3.py", line 23, in <module>
    L1 = list(map(int, input().split(",")))
AttributeError: 'tuple' object has no attribute 'split'
Run Code Online (Sandbox Code Playgroud)

是什么导致了这个错误?

1, 2, 3, 4用作输入

Rya*_*ing 7

你需要使用raw_input而不是input

raw_input().split(",")
Run Code Online (Sandbox Code Playgroud)

在Python 2中,该input()函数将尝试eval用户输入的任何内容,相当于eval(raw_input()).当您输入逗号分隔的值列表时,它将被计算为元组.然后你的代码调用split那个元组:

>>> input().split(',')
1,2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'split'
Run Code Online (Sandbox Code Playgroud)

如果你想确定它实际上是一个元组:

>>> v = input()
1,3,9
>>> v[0]
1
>>> v[1]
3
>>> v[2]
9
>>> v
(1, 3, 9)
Run Code Online (Sandbox Code Playgroud)

最后,而不是listmap你是同一个列表理解更好

L1 = [int(i) for i in raw_input().split(',')]
Run Code Online (Sandbox Code Playgroud)