繁体   English   中英

在python中连接列表

[英]concatenate lists in python

我有一个名为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]]
>>> 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]]

鉴于:

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 ,因为我们想为xx创建y单独副本,所以稍后,如果(原始) y被修改,它将不会导致xx变化。

>>> 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]]

如果你想要一个新的清单:

z = x + [y]

注意,使用[y]使内容成为列表中的列表,这样就可以了。

如果要修改x inplace,那么:

x.append(y)

虽然我自己不经常使用它,但我认为值得一提的是列表的扩展成员函数:

>>> 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM