ここに小さなスクリプトがあります:
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))
Anyinのインスタンスを削除l2しても変更されないのに、l2 と l3 に違いがないように見えるlのに、 in で削除するとl3変更されるのはなぜですか?l
どうもありがとう!