刪除list不符合要求元素注意事項!

A = [5,1,2,4,2,3,6,7,4,5,8]
for ele in A:
    if ele < 10:
        A.remove(ele)
print(A)

運行結果 :

[1, 3, 7, 4, 5]

 或許有想法說,那我複製一個list爲了遍歷,然後去刪原始的list。想法很好,於是寫了下面代碼

A = [5,1,2,4,2,3,6,7,4,5,8]
b = A
for ele in b:
    if ele < 10:
        A.remove(ele)
print(A)

運行結果:

[1, 3, 7, 4, 5]

上面就涉及到了python複製問題,如果真的需要複製一個新變量與之前的不相關,可以採取這種方式

import copy
A = [5,1,2,4,2,3,6,7,4,5,8]
b = copy.deepcopy(A)
for ele in b:
    if ele < 10:
        A.remove(ele)
print(A)

運行結果:

[]

這種方法便是一種刪除原有list裏面不符合條件元素的方法。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章