names = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', ' liuba']
for elem in names:
names.remove(elem)
print(names)
# ['lisi', 'zhaoliu']
如果从前往后删除会造成一些元素没有被删除
原理: 当删除zhangsan 的时候 for循环索引为0
当删除zhangsan后 for循环索引为1 然而lisi 的索引变为了0 从而避免了被删除
故如果要删除以此方法删除列表中的所有元素, 方法如下:
names = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', ' liuba']
for elem in range(len(names) - 1, -1, -1):
names.remove(names[elem])
print(names)
# []