原創聲明:本文系博主原創文章,轉載或引用請注明出處。
1. 直接賦值
>>> a = [1,2,3,4,5] >>> b = a >>> id(a),id(b),a is b (4445892424, 4445892424, True)
相當於多了一個已有列表的引用。
2. [:] 賦值
>>> a = [1,2,3,4,5] >>> b = a[:] >>> id(a),id(b),a is b (4444180424, 4445774088, False)
新的列表和已有列表是不同的對象。
3. 對已有列表的[:]賦值
>>> a = [1,2,3,4,5] >>> b = [] >>> id(a),id(b),a is b (4445892424, 4444180424, False) >>> b[:] = a >>> id(a),id(b),a is b (4445892424, 4444180424, False) >>> b[:] = a[:] >>> id(a),id(b),a is b (4445892424, 4444180424, False)
當b是已經存在的列表時,直接賦值或[:]賦值,都是對b所指向列表對象更新元素。
【參考資料】