如何在python中创建一个函数来计算两个列表之间的一致性?

2024-05-07 18:34:12 发布

您现在位置:Python中文网/ 问答频道 /正文

如果在第一个列表中有一个元素重复出现,而在第二个列表中该元素也出现,则这可能被计为1

示例:

>>> comptaCoincidencies(['verd', 'groc', 'blau', 'vermell'], ['marro', 'blau', 'blanc', 'negre']) 
0 
>>> comptaCoincidencies(['verd', 'groc', 'blau', 'vermell'], ['blanc', 'negre', 'verd', 'groc']) 
2
>>> comptaCoincidencies(['verd', 'groc', 'blau', 'vermell'], ['vermell', 'blau', 'groc', 'verd']) 
4
>>> comptaCoincidencies(['verd', 'verd', 'verd', 'verd'], ['vermell', 'blau', 'groc', 'verd']) 
1

我已经做到了:

def comptaCoincidencies(l1, l2):
    """
    Donades dues llistes, retorna el nombre d'elements coincidents entre le llistes
    >>> comptaCoincidencies(["verd", "verd"], ["blau", "blau"])
    0
    >>> comptaCoincidencies(["verd", "vermell"], ["verd", "blau"])
    1
    >>> comptaCoincidencies(["verd", "blau"], ["blau", "verd"])
    2
    """
    comptador = 0
    for i in range(0, len(l1)):
        if l1[i] in l2:
            comptador = comptador + 1
    return comptador

Tags: in元素l1示例列表blancl2groc
1条回答
网友
1楼 · 发布于 2024-05-07 18:34:12

这将返回一组重复的元素

set(filter(set(lst1).__contains__, lst2))

添加len将计算其长度,因此重复元素的计数

len(set(filter(set(lst1).__contains__, lst2)))

基于@Willem Van Onsem注释更新

set(lst1) & set(lst2)

相关问题 更多 >