在Python中查找两个列表中相同元素的数量

5 投票
4 回答
4570 浏览
提问于 2025-04-15 20:45

在Python中,如果我有两个列表,比如:

l1 = ['a', 'b', 'c', 'd']
l2 = ['c', 'd', 'e']

有没有办法找出这两个列表中有多少个元素是相同的?在这个例子中,相同的元素有2个(c和d)。

我知道可以用嵌套循环来实现,但有没有像PHP中的array_intersect函数那样的内置函数呢?

谢谢!

4 个回答

5

如果你只有独特的元素,可以使用集合这种数据类型,并利用交集的功能:

s1, s2 = set(l1), set(l2)
num = len(s1.intersection(s2))
6
>>> l1 = ['a', 'b', 'c', 'd']
>>> l2 = ['c', 'd', 'e']
>>> set(l1) & set(l2)
set(['c', 'd'])

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

10

你可以用集合交集来解决这个问题 :)

l1 = ['a', 'b', 'c', 'd']
l2 = ['c', 'd', 'e']
set(l1).intersection(l2)
set(['c', 'd'])

撰写回答