python 遍历列表且删除的问题

python 一边遍历列表一边删除其中的元素会造成列表Index越界的问题。

上网搜了搜解决的办法:

list comprehension 以及 filter的方法比较推荐:

遍历列表时删除元素

python 的列表遍历删除

然而我今天写的题(leetcode contest 81),类似两层循环,判断某元素之后的元素是否被其之前的元素包含,如果被包含就删除。

感觉之前提到的方法都不比较难解决,之后就老老实实地开一个删除元素的list最后再一起删除....比较笨


# 默认words从长度大到小排列
delwords = []
for i in range(len(words)):
    for j in range(i +1 , len(words)):
        if words[j] in delwords:
            break
        if words[j] in words[i] and words[j][-1] == words[i][-1]:
            delwords.append(words[j])
# 最后一起删除
for i in delwords:
    words.remove(i)


扫描二维码关注公众号,回复: 1055211 查看本文章
input:words = ["time", "bell", "me", ]
output : ['time', 'bell']


猜你喜欢

转载自blog.csdn.net/wooooooc/article/details/80037267