python的for循环删除元素存在漏删情况的解决

python的for循环存在漏删的情况

在平常我们在添加、修改、删除ist元素时,都会使用到for循环,在添加、修改元素时,使用for循环都是没有问题的,而在使用for循环删除元素时,就会存在只将要删除的第一个元素删除,而后面要删除的元素,都没有被删除,这是很恶心的,

首先我先写一些平常我们使用的方法:

a=[1,"None",2,3,4,"None"]
for i in a:
	if i == "None":
		a.remove(i)
print(a)

这种办法显然是行不通的,只将第一个None删除了,而后面那个并没有被删除
现在我来写一下正确的方法,其实还有一种方法,这个只是其中的一种,另一种方法我忘记了,等有时间来补上

a=[1,"None",2,3,4,"None"]
for j in range(len(a)):
	for i in a:
		if i == "None":
			a.remove(i)
print(a)

这样就会将列表中的"None"全部删除了。

猜你喜欢

转载自blog.csdn.net/weixin_42185136/article/details/86622783