这是一个小脚本:
class Any(object):
def __init__(self,x):
self.x=x
l = [Any(2),Any(3),Any(7),Any(9),Any(10)]
print(len(l))
l2=[ind for ind in l]
l3=l
print(set(l2).difference(l3))
print(l2[1]==l[1])
print(l3[1]==l[1])
del l2[1]
print(len(l))
del l3[1]
print(len(l))
Any
为什么删除in的实例l2
不会改变l
,但在l3
改变中删除它,l
尽管 l2 和 l3 之间似乎没有任何区别?
非常感谢!