python 2.7列表操作或相等运算符中可能存在的错误

时间:2016-07-16 18:08:27

标签: list python-2.7 append equality-operator

我在Ipython Notebook上使用Anaconda 2.2.0的python 2.7.10,并且观察到以下明显的错误(参见下面的代码)。两个等效列表上的相同操作产生两个不等的列表。如果由于启动它们的方式不同而打算使两个列表的行为不同,那么两个列表的相等比较不应该评估为True(因为A == B< => F(A )== F(B))。在我看来,这必须是列表对象定义或相等运算符实现中的错误。有人可以确认这是一个错误并告诉我最好的方式将此称为社区的注意吗?

> test = [[]]*3 
> testtwo = [[],[],[]]
> print(test)
> print(testtwo)
> print(test==testtwo)

[[], [], []]
[[], [], []]
True    

> test[1].append(2)
> testtwo[1].append(2)
> print(test)
> print(testtwo)
> print(test==testtwo)

[[2], [2], [2]]
[[], [2], []]
False

0 个答案:

没有答案