删除列表元素注意事项
删除大于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]