【发布时间】:2016-02-25 23:09:34
【问题描述】:
我希望一个列表中有两个列表:
x = [1,2]
y = [3,4]
我需要他们变成这样:
z = [[1,2][3,4]]
但我不知道该怎么做。 非常感谢您的考虑和帮助。
【问题讨论】:
-
@TymoteuszPaul 如果我没记错的话,这个问题与您上面发布的问题略有不同。
我希望一个列表中有两个列表:
x = [1,2]
y = [3,4]
我需要他们变成这样:
z = [[1,2][3,4]]
但我不知道该怎么做。 非常感谢您的考虑和帮助。
【问题讨论】:
创建一个包含前两个列表的新列表。
z = [x, y]
这将使z 的每个元素成为对原始列表的引用。如果您不希望这种情况发生,您可以执行以下操作。
from copy import copy
z = [copy(x), copy(y)]
print z
【讨论】:
x = [ 1, 2 ]
y = [ 2, 3 ]
z =[]
z.append(x)
z.append(y)
print z
output:
[[1, 2], [2, 3]]
【讨论】:
这将起作用:
>>> x = [1, 2]
>>> y = [3, 4]
>>> z = [x, y]
>>> print("z = ", z)
z = [[1, 2], [3, 4]]
【讨论】:
z 包含对x 和y 的引用,而不是它们的实际值。如果x 或y 发生更改,z 也会更改,这可能不是程序员的本意。这会导致难以发现的错误。
如果您不想引用原始列表对象:
z = [x[:], y[:]]
【讨论】: