Python比较两个不同列表中的元素

Python比较两个不同列表中的元素,python,for-loop,Python,For Loop,目前,我能够打印出句子列表中匹配的词典项。我宁愿打印出句子列表的元素。请告知实现此目的的最佳方法。下面是我的代码。多谢各位 sentences = "The book was awesome and envious","splendid job done by those guys", "that was an amazing sale" dictionary = "awesome","amazing", "fantastic","envious" ##Find Matches for ma

目前,我能够打印出句子列表中匹配的词典项。我宁愿打印出句子列表的元素。请告知实现此目的的最佳方法。下面是我的代码。多谢各位

sentences = "The book was awesome and envious","splendid job done by those guys", "that was an amazing sale"

dictionary = "awesome","amazing", "fantastic","envious"

##Find Matches
for match in dictionary:
    if any(match in value for value in sentences):
        print match
这就是你要找的吗

如果您有一个句子列表,并且希望创建一个包含字典单词的句子的新列表,您可以执行以下操作

sentances_with_words_in_dict = [sentence for sentence in all_sentences if set(sentence.split()).intersection(dictionary_words)]

你似乎在用句子和单词搭配-你确定这是对的吗?我就是这么想的,所以我把它作为我的答案。。。但我不确定我是否理解他的问题陈述……我有两个列表:a-字典,其中包含诸如[“无可挑剔”、“显而易见”、“奇妙”、“明显”]之类的关键词作为列表的元素;b-句子,其中包含诸如[“我无可挑剔”、“你很奇妙”、“那很明显”、“那很明显”]目标是使用字典列表作为参考。过程如下:为句子列表获取一个元素,并针对字典列表中的每个元素运行它。如果存在任何元素,则将该句子吐到新列表中,对句子列表中的每个元素重复步骤1。编辑我的答案,使其假设您有一个句子列表…太棒了。我会试一试,让你知道。谢谢你的帮助。你好,乔兰,我试过你的建议,但遇到了无休止的循环。问题出在我身上。我想我的要求太复杂了。为了简化,我编辑了代码。请看上面。
sentances_with_words_in_dict = [sentence for sentence in all_sentences if set(sentence.split()).intersection(dictionary_words)]