如何在 Python 中的一行中将多个值添加到列表中?

5 python list append python-2.7

我有一个列表,我想向其中添加多个值,我使用append(),如下所示,再添加 10 个数字:

>>> x = [1, 2, 3, 4]
>>> x.append(5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: append() takes exactly one argument (10 given)
Run Code Online (Sandbox Code Playgroud)

我有点明白这意味着什么,所以我试着用一个列表来做:

>>> x = [1, 2, 3, 4]
>>> x.append([5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
>>> x
[1, 2, 3, 4, [5, 6, 7, 8, 9, 10, 11, 12, 13, 14]]
Run Code Online (Sandbox Code Playgroud)

不过这不是我想要的。它包含不必要的方括号。我想要的是这样的:

>>> x = [1, 2, 3, 4]
>>> x.what_I_want([5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
>>> x
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
Run Code Online (Sandbox Code Playgroud)

我所做的第一个更改是否是TypeError正确的更改?或者这就是为什么这不起作用?

A.J*_*pal 2

使用extend()

>>> x = [1, 2, 3, 4]
>>> x.extend([5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
>>> x
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
Run Code Online (Sandbox Code Playgroud)

不要输入 5 到 15 之间的数字,而是使用range()

>>> x = [1, 2, 3, 4]
>>> x.extend(range(5, 15))
>>> x
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
Run Code Online (Sandbox Code Playgroud)

您所做的第一个编辑是正确的,因为您append一次只能选择一个项目,而不是tuple“喜欢”(5, 6, 7, 8, 9, 10, 11, 12, 13, 14)