在python中,當你建立乙個物件並用另乙個物件給它賦值的時候,這個物件和原來的物件都指向記憶體中的同一塊記憶體區域,這被稱作名稱到物件的繫結。
# filename : reference.py
animal_list1 = ['cat', 'dog', 'pig', 'fish'];
animal_list2 = animal_list1;
del animal_list1[3]; #delete fish
print 'animal_list1 :', animal_list1;
print 'animal list2 :', animal_list2;
# output is :
# animal_list1 : ['cat', 'dog', 'pig']
# animal list2 : ['cat', 'dog', 'pig']
物件與參考的示例2:
# filename : reference.py
animal_list1 = ['cat', 'dog', 'pig', 'fish'];
animal_list2 = animal_list1[:]; #slice operator
del animal_list1[3]; #delete fish
print 'animal_list1 :', animal_list1;
print 'animal list2 :', animal_list2;
# output is :
# animal_list1 : ['cat', 'dog', 'pig']
# animal list2 : ['cat', 'dog', 'pig', 'fish']
通過上面這兩段**,需要記住的是:
如果只是想用另外乙個變數名來操作同一塊記憶體區域,可以如**1那樣操作;否則複雜物件的複製必須使用切片操作來取得拷貝。
35 複雜鍊錶的複製 python
題目 請實現乙個函式,複製乙個複雜鍊錶。在複雜鍊錶中,每個節點除了有乙個m pnext指標指向下乙個節點,還有乙個m psibling指標指向鍊錶中的任意節點或者nullptr。def complex list clone head node node if not head return none...
複雜鍊錶的複製 python編寫
題目描述 輸入乙個複雜鍊錶 每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點 返回結果為複製後複雜鍊錶的head。注意,輸出結果中請不要返回引數中的節點引用,否則判題程式會直接返回空 題目分析 1.如果鍊錶為空鍊錶,則返回本身即可 2.如果非空 需要進行複製操作,...
python物件的比較與複製
在python中,物件賦值實際上是物件的引用。當建立乙個物件,然後把它賦給另乙個變數的時候,python並沒有拷貝這個物件,而只是拷貝了這個物件的引用 一般有三種方法 直接賦值法,copy淺拷貝法,deepcopy深拷貝法 alist 1,2,3,a b 1 直接賦值,預設淺拷貝傳遞物件的引用而已,...