我有了這個代碼Python列表分配
class coordenates:
x = 0
y = 0
coor = coordenates()
coor.x=0
coor.y=0
list = []
list.append(coor)
list.append(coor)
現在的問題是,當我更新
list[0].x=100
它也對矯正list[1].x
莫名其妙!
print str(list[0].x)
>> 100
print str(list[1].x)
>> 100
因爲我沒有更新它,所以必須保留在0
之內。是append()
創建相同的對象指向位置0和1在內存中的相同位置?爲什麼創建2個不同的對象解決了這個問題?
要附加同一對象添加到列表兩次。如果你改變它,它會在兩個索引處改變。 –
'append'不是在相同的內存位置創建相同的對象,*你*明確地追加同一個對象。 –