python – 在列表中的元素中搜索substring并删除该元素

我有一个列表,我试图删除其中有“饼”的元素.这就是我所做的:

['applepie','orangepie', 'turkeycake']
for i in range(len(list)):
    if "pie" in list[i]:
         del list[i]

我一直在使列表索引超出范围,但是当我将del更改为print语句时,它打印出的元素很好.

最佳答案
不要从列表中删除项目,而是尝试使用Python的nice list comprehension syntax创建一个新列表:

foods = ['applepie','orangepie', 'turkeycake']
pieless_foods =  [f for f in foods if 'pie' not in f]

转载注明原文:python – 在列表中的元素中搜索substring并删除该元素 - 代码日志