python - 在列表中的元素中搜索子字符串并删除元素

标签 python list search element substring

我有一个列表,我正在尝试删除其中包含 '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/

相关文章:

python - python/pandas 中有没有办法从字符串中删除一组特定的字符

python - Django:应用级变量

python - 使用单词列表作为引用的正则表达式提取,Python

Python从字符串列表中搜索确切的单词?

sql - 如何在sql中搜索另一个范围内的值范围

algorithm - 在列表中找到多个可能的重复整数中的任何一个

python - SQLAlchemy jsonb 列 - 如何根据键上的 id 列表执行过滤

python - 如何从 python 中执行 SQLite 脚本?

python - 检查矩阵是否在字典列表中

list - 如何在 Clojure 中将 '( ' (...) '(...) ... ) 转换为 [...] [...] ... ]?