删除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里面不符合条件元素的方法。

 

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