tt = 'hello' #定義一個包含多個型別的 list list1 = [1,4,tt,3.4,"yes",[1,2]] print(list1,id(list1)) print("1.----------------") #比較 list 中新增元素的幾種方法的用法和區別 list3 = [6,7] l2 = list1 + list3 print(l2,id(l2)) print("2.----------------") l2 = list1.extend(list3) print(l2,id(l2)) print(list1,id(list1)) print("3.----------------") l2 = list1.append(list3) print(l2,id(l2)) print(list1,id(list1))輸出結果為:
[1, 4, 'hello', 3.4, 'yes', [1, 2]] 2251638471496
1.----------------
[1, 4, 'hello', 3.4, 'yes', [1, 2], 6, 7] 2251645237064
2.----------------
None 1792287952
[1, 4, 'hello', 3.4, 'yes', [1, 2], 6, 7] 2251638471496
3.----------------
None 1792287952
[1, 4, 'hello', 3.4, 'yes', [1, 2], 6, 7, [6, 7]] 2251638471496
tt = 'hello' #定義一個包含多個型別的 list list1 = [1,4,tt,3.4,"yes",[1,2]] print(list1) del list1[2:5] print(list1) del list1[2] print(list1)輸出結果為:
[1, 4, 'hello', 3.4, 'yes', [1, 2]]
[1, 4, [1, 2]]
[1, 4]
tt = 'hello' #定義一個包含多個型別的 list list1 = [1,4,tt,3.4,"yes",[1,2]] l2 = list1 print(id(l2),id(list1)) del list1 print(l2) print(list1)執行結果如下:
1765451922248 1765451922248
[1, 4, 'hello', 3.4, 'yes', [1, 2]]
Traceback (most recent call last):
File "C:UsersmengmaDesktopdemo.py", line 8, in <module>
print(list1)
NameError: name 'list1' is not defined
tt = 'hello' #定義一個包含多個型別的 list list1 = [1,4,tt,3.4,"yes",[1,2]] l2 = list1 l3 = l2 del l2[:] print(l2) print(l3)輸出結果為:
[]
[]
#引入gc庫 import gc tt = 'hello' #定義一個包含多個型別的 list list1 = [1,4,tt,3.4,"yes",[1,2]] del list1 #回收記憶體地址 gc.collect()前面我們在《Python快取機制》一節講過,系統為了提升效能,會將一部分變數駐留在記憶體中。這個機制對於,多執行緒並行時程式產生大量佔用記憶體的變數無法得到釋放,或者某些不再需要使用的全域性變數占用著大的記憶體,導致後續執行中出現記憶體不足的情況,此時就可以使用 del 關鍵字來回收記憶體,使系統的效能得以提升。同時,它可以為團隊省去擴充大量記憶體的成本。