list1=[1,2,3,4]
list2=list1
print(list2)
print(id(list1),id(list2))
列印出的結果如下:
[1, 2, 3, 4]
2087137645832 2087137645832
可以看出,使用等號確實可以給列表賦值,但其在記憶體中的id是一樣的,說明實際上這其實是同乙個物件如果對其中乙個進行更改,另乙個也會發生改變。如下:
list1=[1,2,3,4]
list2=list1
print(list2)
print(id(list1),id(list2))
list2[3]=10
print(list2)
print(list1)
其結果如下:
[1, 2, 3, 4]
1715327014152 1715327014152
[1, 2, 3, 10]
[1, 2, 3, 10]
如果要使得兩個列表為兩個不同的物件,應當使用copy方法,實現如下:
list1=[1,2,3,4]
list2=list1.copy()
print(list2)
print(id(list1),id(list2))
list2[3]=10
print(list1)
print(list2)
其結果如下:
[1, 2, 3, 4]
2099002152200 2099001975880
[1, 2, 3, 4]
[1, 2, 3, 10]
在迴圈中對列表進行修改時
num_list_1 = [1, 2, 2, 2, 3]
for i in range(len(num_list_1)):
if num_list_1[i] == 2:
num_list_1.pop(i)
else:
print(num_list_1[i])
print("num_list_1:", num_list_1)
其結果如下
list index out of range
這是因為列表元素減少了,但迴圈次數並沒有減少,造成的下標溢位 python3 list列表的常用方法
python3 list列表的常用方法 li 1,2,3 clera 清除整個列表,慎用 li.clear help li.clear clear method of builtins.list instance l.clear none remove all items from l copy 是...
python3 list序列相關函式
這部分的內容不僅僅是用於列表,一般來說其他的序列 比如元祖 字典 集合等 也是可以進行使用的。1 any list 列表list中有乙個元素為邏輯真,則返回true,全為假時則返回false。注意any 返回的是false,在程式設計時要考慮序列為空的情況。2 all list 列表在所有元素都為真...
Python3 list 排序字串排序
python3 對檔案的每行字元按長度排序 一 列表的sort排序函式 函式原型 list.sort key none,reverse false 函式功能 對原列表進行排序,完成排序後,原列表變為有序列表。預設情況 不傳入任何引數時 按字典順序排序。函式引數 1 key 主要是用來進行比較的元素,...