列表和字典循环打印最好不要随便进行删除操作,容易出错

列表循环删除容易出错,对它进行删除后会使得每个元素对应的下标发生改变,第一次之后,删除的元素并不是在原有的列表上进行删除

例如:

lis = ['aike','men','alex','pomelo','peach']
for i in range(len(lis)):
    del lis[i]
    print(lis)

可以看到,输出结果并不是在原有列表逐一删除,并且随着列表的更新,下标和长度都会发生改变,长度不够时,程序报错

['men', 'alex', 'pomelo', 'peach']
['men', 'pomelo', 'peach']
['men', 'pomelo']
  File "D:/PycharmProjects/untitled/day7/数据类型汇总.py", line 22, in <module>
    del lis[i]
IndexError: list assignment index out of range

注:

for i in range(len(lis)):
当中的range(len(lis))第一次获取到lis列表的长度后,已经固定不变了,所以不会随着列表的长度而发生改变。
原文地址:https://www.cnblogs.com/aizhinong/p/11335219.html