当我使用以下代码添加列表时。
a = [1, 2, 3, 4]
print a
a.append(a)
print a
我期待输出为......
[1, 2, 3, 4]
[1, 2, 3, 4, [1, 2, 3, 4]]
但它是这样的......
[1, 2, 3, 4]
[1, 2, 3, 4, [...]]
WHY吗
答案 0 :(得分:9)
您要将a
添加到a
本身。 a
的第二个元素仅为a
。因此,如果它试图打印a
,就像你想要的那样
[1, 2, 3, 4]
它会打印第二个元素,实际上是a
[1, 2, 3, 4]
它会打印第二个元素,实际上是a
[1, 2, 3, 4]
a
... [...]
中的省略号。
如果您要原样插入a
的副本,则可以使用slicing创建新列表,例如
>>> a = [1, 2, 3, 4]
>>> a.append(a[:])
>>> a
[1, 2, 3, 4, [1, 2, 3, 4]]
答案 1 :(得分:0)
您也可以使用for循环添加它们,但最终会有一个大的列表。
a = [1, 2, 3, 4]
lengthOfA = len(a)
for x in range(0, lengthOfA):
item = a[x]
a.append(item)
print a #Answer is [1, 2, 3, 4, 1, 2, 3, 4]
我喜欢这个答案,因为它会创建一个嵌套列表,但如果这不是你想要的,请放弃这个答案。
如果你想要列表中的列表,你可以使用thefourtheye的awnser。
a = [1, 2, 3, 4]
a.append(a[:])
print a #Answer is [1, 2, 3, 4 [1, 2, 3, 4]]