繁体   English   中英

如何比较两个列表中的项目 Python 3.3

[英]How To Compare Items In Two Lists Python 3.3

我尝试使用cmp(list1, list2)来了解 Python 3.3 不再支持它。 我尝试了许多其他复杂的方法,但都没有奏效。

我有两个列表,它们都只包含单词,我希望它检查两个列表中有多少个单词,并返回有多少个的数字。

您可以使用&找到设置交集的长度,如下所示:

len(set(list1) & set(list2))

例子:

>>>len(set(['cat','dog','pup']) & set(['rat','cat','wolf']))
1
>>>set(['cat','dog','pup']) & set(['rat','cat','wolf'])
{'cat'}

或者,如果您出于某种原因不想使用集合,您始终可以使用collections.Counter ,它支持大多数多集操作:

>>> from collections import Counter 
>>> print(list((Counter(['cat','dog','wolf']) & Counter(['pig','fish','cat'])).elements()))
['cat']

如果您只想计算常见单词的数量

common = sum(1 for i in list1 if i in list2)

如果你真的想得到一个共享词的列表

common_words = set(list1).intersection(list2)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM