2

我有一个名为 3x2 的列表x和一个名为 1x2 的列表y

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

5 回答 5

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]]
于 2012-08-13T17:57:42.180 回答
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,因为我们想为以后创建单独的副本yxx如果(原始)y被修改它不会导致xx.

于 2012-08-13T17:58:55.940 回答
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]]
于 2012-08-13T18:00:06.980 回答
2

如果你想要一个新列表:

z = x + [y]

请注意, using[y]使内容成为列表中的列表,因此可以正常工作。

如果要x就地修改,则:

x.append(y)
于 2012-08-13T18:04:11.430 回答
1

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

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

于 2012-08-13T20:34:31.320 回答