1.列表遍历时删除

大家好,我是冲冲,一名主要从事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]  符合需求!

相信大家已经学会了:遍历时删除元素的技巧就是在遍历时使用“列表名[:]”的形式代替“列表名”。
好啦,今天的实用技巧分享就到这里!
欢迎大家多多订阅我,每天分享一个实用知识点,共成长,交个朋友!下期见~~
我自己开发了一个具有MySQL的ORM和Client功能的库(pip install mysql-stream),欢迎大家下载使用,多多交流~~

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容