我有一个列表,我正在尝试删除其中包含 'pie'
的元素。这就是我所做的:
['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 - 在列表中的元素中搜索子字符串并删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12953253/