Python3 list注意的事項

2021-09-24 11:46:36 字數 1269 閱讀 9868

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 主要是用來進行比較的元素,...