Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python [[]]*4和[[]、[]、[]、[]、[]之间有什么区别_Python - Fatal编程技术网

Python [[]]*4和[[]、[]、[]、[]、[]之间有什么区别

Python [[]]*4和[[]、[]、[]、[]、[]之间有什么区别,python,Python,我创建了两个看起来相同的列表 x = [[]]*4 y = [[],[],[],[]] 因为当我打印x,y时,它们给我相同的输出。但是,当我对它们应用相同的操作x[0].append((1,2)),y[0].append((1,2))时,它们会给出不同的结果 print x >> [[(1, 2)], [(1, 2)], [(1, 2)], [(1, 2)]] print y >> [[(1, 2)], [], [], []] 为什么会发生这种情况?如何修改x,以

我创建了两个看起来相同的列表

x = [[]]*4
y = [[],[],[],[]]
因为当我打印x,y时,它们给我相同的输出。但是,当我对它们应用相同的操作
x[0].append((1,2)),y[0].append((1,2))
时,它们会给出不同的结果

print x  >> [[(1, 2)], [(1, 2)], [(1, 2)], [(1, 2)]]
print y  >> [[(1, 2)], [], [], []]

为什么会发生这种情况?如何修改
x
,以确保
x
y
完全相同?

x
是一个引用相同列表4倍的列表


y
是由4个独立的空列表组成的列表。

x
是引用同一列表4次的列表


y
是由4个独立的空列表组成的列表。

x
是引用同一列表4次的列表


y
是由4个独立的空列表组成的列表。

x
是引用同一列表4次的列表


y
是由4个独立的空列表组成的列表。

简短回答:[[]]创建对同一列表的4个引用。请参阅Michael0x2a的链接以获得更详细的答案。另请参阅范围(4)中的x的
[]!这就解决了问题。谢谢!简短回答:[[]]创建对同一列表的4个引用。请参阅Michael0x2a的链接以获得更详细的答案。另请参阅范围(4)中的x的
[]!这就解决了问题。谢谢!简短回答:[[]]创建对同一列表的4个引用。请参阅Michael0x2a的链接以获得更详细的答案。另请参阅范围(4)中的x的
[]!这就解决了问题。谢谢!简短回答:[[]]创建对同一列表的4个引用。请参阅Michael0x2a的链接以获得更详细的答案。另请参阅范围(4)中的x的
[]!这就解决了问题。谢谢!