如何比较两个列表的 Trigram-word 组合和 return 中相同的组合 Python?
How do I compare Trigram-word-combinations of two lists and return same combinations in Python?
如果出现相同的单词组合,我们基本上想比较两个列表。
我们的 Trigram-Code 给我们带来了这样的东西:
例如(这些是“元组”类型)
List1 =
(('I', 'want', 'this'),456)
(('What', 'is', 'this') , 25)
List2 =
(('this', 'is', 'what'), 12)#this one should not count, because the order is different
(('I', 'want', 'this'), 9)
每个列表后面的数字显示了这些三元组合在我们的 DataFrame 中出现的频率,也许您必须先删除它们?
List3 = 列表 1 和列表 2 中出现的三字母组合
Result should be "'I', 'want', 'this'"
提前致谢
您可以使用集合交集并且只使用单词的元组:
>>> {x[0] for x in List1} & {x[0] for x in List2}
{('I', 'want', 'this')}
List3 = [ L1phrase[0] for L1phrase in List1 if L1phrase[0] in [L2phrase[0] for L2phrase in List2] ]
你可以做嵌套列表理解
如果出现相同的单词组合,我们基本上想比较两个列表。 我们的 Trigram-Code 给我们带来了这样的东西:
例如(这些是“元组”类型)
List1 =
(('I', 'want', 'this'),456)
(('What', 'is', 'this') , 25)
List2 =
(('this', 'is', 'what'), 12)#this one should not count, because the order is different
(('I', 'want', 'this'), 9)
每个列表后面的数字显示了这些三元组合在我们的 DataFrame 中出现的频率,也许您必须先删除它们?
List3 = 列表 1 和列表 2 中出现的三字母组合
Result should be "'I', 'want', 'this'"
提前致谢
您可以使用集合交集并且只使用单词的元组:
>>> {x[0] for x in List1} & {x[0] for x in List2}
{('I', 'want', 'this')}
List3 = [ L1phrase[0] for L1phrase in List1 if L1phrase[0] in [L2phrase[0] for L2phrase in List2] ]
你可以做嵌套列表理解