gpt4 book ai didi

python - (无意中)在遍历列表时跳过项目

转载 作者:太空宇宙 更新时间:2023-11-03 12:16:38 26 4
gpt4 key购买 nike

我有一个列表,我想从中删除没有出现在另一个列表中的项目。我试过以下方法:

for w in common:
for i in range(1,n):
if not w in words[i]:
common.remove(w)
但是,这无法删除某些项目。添加打印语句
for w in common:
for i in range(1,n):
print w
if not w in words[i]:
print w
common.remove(w)
导致一些 w 永远不会被打印出来。关于发生了什么的任何想法?我认为答案很简单,我只是没有足够的 Python 知识,但我完全没有想法。

最佳答案

我想你可以用这样的东西来简化你的陈述:

filtered = filter(lambda x: x in words, common)

这是检查每个元素是否存在于单词中,并根据它删除。您可能需要尝试 x not in words,具体取决于您想要的结果是什么,但我认为应该接近。

我想添加另一种方法,它也可能接近,但我需要查看您的初始列表示例以对其进行全面测试。

filtered = [x for x in common if x in words]

——已编辑——我在列表推导中的语法倒退了,但在看到评论后捕获了它。谢谢!

关于python - (无意中)在遍历列表时跳过项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3513531/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com