删除列表元素注意事项

删除列表元素注意事项

删除大于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]

猜你喜欢

转载自blog.csdn.net/zx980414k/article/details/108840135
今日推荐