如何找出 python list 中有重复的项

2025年03月01日 07:31
有3个网友回答
网友(1):

可以对第二个list的元素进行遍历,检查是否出现在第二个list当中,如果使用表理解,可以使用一行代码完成任务。
list1 = [1,2,3,4,5]
list2 = [4,5,6,7,8]
print [l for l in list1 if l in list2]
# [4,5]
如果每一个列表中均没有重复的元素,那么还有另外一种更好的办法。首先把两个list转换成set,然后对两个set取交集,即可得到两个list的重复元素。
set1 = set(list1)
set2 = set(list2)
print set1 & set 2
# {4,5}

网友(2):

def finddupl(lst):
    """找出 lst 中有重复的项
        (与重复次数无关,且与重复位置无关)
    """
    exists, dupl = set(), set()
    for item in lst:
        if item in exists:
            dupl.add(temp)
        else:
            exists.add(temp)
    return dupl

网友(3):

l = [1,1,2,2,2,3,3,3,3,5,6,4,6,4,5,5,5]
d = {}
for x in set(l):
d[x] = l.count(x)
print d