例如,我有3个列表
list1=['Oh','My','god','I','A','List!']
list2=['Oh','What','You','Dramatic?']
Keyword=['I','Dunno','What','You','Talking','About','DOT']
修改
我想分别将列表1和2的关键字进行比较。所以它会变成:
修改
common=['What','I','You']
如果我有超过10个列表怎么办? < - 可选问题。
答案 0 :(得分:3)
可能使用set
。
common = list(set(list1) & set(list2) & set(Keyword))
但是,您可能需要通过“每个列表中的共同词语”来定义您的意思,因为您列出的词语只对您显示的列表的两个是通用的。
答案 1 :(得分:2)
您可以将它们转换为集合,然后进行交集:
intersect = list(set(list1) & set(list2)) & set(Keyword))
答案 2 :(得分:0)
由于您的评论表明您希望Keyword
和 中的项目 list1
或list2
,您可能不想要三者的交集。相反,您应该获得list1
和list2
的并集,然后获得该结果与Keyword
的交集。
以下内容应该能满足您的需求:
common = list((set(list1) | set(list2)) & set(Keyword))
或者是一种更具可扩展性的替代方法(感谢Karl的缩短版本):
lists = [list1, list2, list3, list4, list5, list6, list7, list8, list9, list10]
common = list(set().union(*lists).intersection(Keyword))