[碰拳]大家好,我是冲冲,一名主要从事Python服务端开发的程序猿。
今天给大家分享的实用技巧是列表在遍历时删除元素的方法。示例代码如下:
##################################################### 需求:删除列表[0, 1, 2, 3, 4, 5]中大于3的元素##################################################### 错误的方法arr = [0, 1, 2, 3, 4, 5]for i in arr: if i > 3: arr.remove(i)print('>>>after remove, arr:', arr)# >>>after remove, arr: [0, 1, 2, 3, 5] 发现4被删除后,5没有被删除,不符合需求!# 正确的方法new_arr = [0, 1, 2, 3, 4, 5]for i in new_arr[:]: # 仅仅只是改变了list的引用写法为:new_arr[:] if i > 3: new_arr.remove(i)print('>>>after remove, new_arr:', new_arr)# >>>after remove, new_arr: [0, 1, 2, 3] 符合需求!
相信大家已经学会了:遍历是删除元素的技巧就是在遍历时使用“列表名[:]”的形式代替“列表名”。
好啦,今天的知识分享就到这里!欢迎大家多多订阅我,每天分享一个实用知识点,共成长,交个朋友!下期见~~[碰拳]