我们先看下面这段代码:
words = ['hello','goods','gooo','world','digot','alphago']
w = input('请输入一个单词:') #输入go
i = 0 #表示下标
l = len(words)
while i < l:
if w in words[i]:
del words[i]
l -= 1
# i -= 1#或者用continue
i+=1
print(words)
我们去运行看一下结果:
我们会发现,gooo、alphago竟然漏删了!!!为什么呢?
原因是因为删除一个列表的元素后,列表自动补位,但是 i 还是加了1,所以导致就漏掉了某个元素。具体看图:
正确的做法就是加上continue或者i 先减1,再进行加1,代码如图:
words = ['hello','goods','gooo','world','digot','alphago']
w = input('请输入一个单词:') #输入go
i = 0 #表示下标
l = len(words)
while i < l:
if w in words[i]:
del words[i]
l -= 1
i -= 1#或者用continue
i+=1
print(words)
欢迎大家相互交流学习!