這裏是一個小腳本:變量在Python
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))
爲什麼刪除的l2
Any
實例不會改變l
,但刪除它l3
改變l
雖然它似乎沒有L2之間有什麼區別和l3?
非常感謝!
'l3'和'l'只是*相同*列表的兩個名字... –
http://nedbatchelder.com/text/names.html – nmclean