可以一次附加多个列表吗?(蟒蛇)

ano*_*non 27 python list append

我有一堆列表要附加到单个列表中,这个列表是我正在尝试编写的程序中的"主要"列表.有没有办法在一行代码而不是10代码中执行此操作?我是初学者,所以我不知道......

为了更好地了解我的问题,如果我有这些列表怎么办:

x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

并希望将y和z附加到x.而不是做:

x.append(y)
x.append(z)
Run Code Online (Sandbox Code Playgroud)

有没有办法在一行代码中执行此操作?我已经尝试过:

x.append(y, z)
Run Code Online (Sandbox Code Playgroud)

它不会工作.

Jor*_*ley 45

x.extend(y+z)
Run Code Online (Sandbox Code Playgroud)

应该做你想做的事

要么

x += y+z
Run Code Online (Sandbox Code Playgroud)

甚至

x = x+y+z
Run Code Online (Sandbox Code Playgroud)

  • 注意最后一个是微妙的不同 - 您正在创建一个新列表并将其分配给`x`,而不是更改`x`. (4认同)

nig*_*ler 17

扩展我的评论

In [1]: x = [1, 2, 3]
In [2]: y = [4, 5, 6]
In [3]: z = [7, 8, 9]
In [4]: from itertools import chain
In [5]: print list(chain(x,y,z))
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)


小智 14

您可以使用sum带有起始值(空列表)的函数:

a = sum([x, y, z], [])
Run Code Online (Sandbox Code Playgroud)

如果要追加任意数量的列表,这尤其适用.