我有一个名为x
的3x2列表和一个名为y
的1x2列表:
x=[[1,2],[3,4],[5,6]]
和
y=[10,20]
我的问题是如何将y
连接到x
的末尾,最终得到一个4x2列表,如:
x=[[1,2],[3,4],[5,6],[10,20]]
我试过这个:
xx=[x,y]
但它给了我这不是4x2列表:
xx=[[[1,2],[3,4],[5,6]],[10,20]]
答案 0 :(得分:9)
>>> x = [[1, 2], [3, 4], [5, 6]]
>>> x
[[1, 2], [3, 4], [5, 6]]
>>> x.append([10, 20])
>>> x
[[1, 2], [3, 4], [5, 6], [10, 20]]
或者:
>>> x = [[1, 2], [3, 4], [5, 6]]
>>> x
[[1, 2], [3, 4], [5, 6]]
>>> x += [[10, 20]] # a list with a list as its only element
>>> x
[[1, 2], [3, 4], [5, 6], [10, 20]]
答案 1 :(得分:9)
假设:
x = [[1,2],[3,4],[5,6]]
y = [10,20]
这样:
x.append(y)
会给你:
[[1, 2], [3, 4], [5, 6], [10, 20]]
注意但是修改了 x
。
如果您不想要修改x
,这是另一种方式:
xx = x + [y[:]]
将xx
设置为:
[[1, 2], [3, 4], [5, 6], [10, 20]]
我们在上述作业中使用y[:]
而非简单y
,因为我们要为y
创建xx
的单独副本,以便稍后,应该(原始){修改{1}}不会导致y
更改。
答案 2 :(得分:5)
>>> x=[[1,2],[3,4],[5,6]]
>>> y=[10,20]
>>> x.append(y) # or x.append(list(y)) to append a shallow copy of y
>>> x
[[1, 2], [3, 4], [5, 6], [10, 20]]
答案 3 :(得分:2)
如果你想要一个新的清单:
z = x + [y]
请注意,使用[y]
会使内容成为列表中的列表,这样就可以了。
如果您想修改x
inplace,那么:
x.append(y)
答案 4 :(得分:1)
虽然我自己并不经常使用它,但我认为值得一提的是列表的 extend 成员函数:
>>> x=[[1,2],[3,4],[5,6]]
>>> y=[10,20]
>>> x.extend([y])
>>> x
[[1, 2], [3, 4], [5, 6], [10, 20]]
http://docs.python.org/tutorial/datastructures.html#more-on-lists