删除列表元素注意事项

删除列表元素注意事项

删除大于10的元素,假如用remove,会出现如下情况,因为remove删除了元素以后,后面的元素会向前移动补上删除后的缺口(del也有这个机制)
所以此处的12被跳过了。
list_06 = [9,25,12,8]
for i in list_06:
    if i>10:
        list_06.remove(i)
print(list_06)

[9, 12, 8]

因为上面这种情况,所以以后不管是列表还是字典,都不能这样删,最好的办法是从后往前删:
list_07 = [9,25,12,8]
for i in range(len(list_07)-1,-1,-1):
    if list_07[i] > 10:
        del list_07[i]
print(list_07)

[9, 8]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值