大家好,我是冲冲,一名主要从事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),欢迎大家下载使用,多多交流~~