用python怎么在list中找出“天选之子”?

例如list=[[1,2,3,4],[2,3,4,0],[5,6,7,8],[1,9,a,b],[a,c,d,e]]

[1,2,3,4]与[2,3,4,0]比较,其中有重复的内容是2,3,4有3个,[1,2,3,4]与[5,6,7,8]比重复内容为0个
我要输出重复数为1个的,则会输出[1,2,3,4]和[1,9,a,b],且重复部分为1;
[1,9,a,b]和[a,c,d,e],且重复部分为a;
重复数为0个则会输出[5,6,7,8]
假设list中有N个list,请不要因为例子把语句写死

代码写的差不多了,但是还有最后一步,怎么把一个重复数都没有的找出来,目前正在解决,这步就交给你解决吧,如果对你有用,希望点击右上角给个采纳哦~

l =[[1,2,3,4],[2,3,4,0],[5,6,7,8],[1,9,'a','b'],['a','c','d','e']]
for i in l:
    if l.index(i)==0:
        for s in l[1:]:
            a=set(s)&(set(i))
            for k in a:
                if a:
                    if len(a)==1:
                        print("找到一个重复数:%s"%list(a)[0])
                        print(s)
                        print(i)
    else:
        a=l.index(i)
        for s in l[a+1:]:
            b=list(set(s)&set(i))
            for k in b:
                if b:
                    if len(b)==1:
                        print("找到一个重复数:%s"%list(b)[0])
                        print(s)
                        print(i)

有一个地方没有看懂,重复数为0个时凭借什么条件输出5,6,7,8呢

你是想知道某个元素重复多少次吗?建议使用Counter

from collections import Counter

li = [1, 2, 3, 4, 2, 3, 4, 0, 5, 6, 7, 8, 1, 9, 'a', 'b', 'a', 'c', 'd', 'e']
print(Counter(li))
# Result: Counter({1: 2, 2: 2, 3: 2, 4: 2, 'a': 2, 0: 1, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1})
# 上面字典中的键是元素,字典值为该元素出现的次数

lst=[[1,2,3,4],[2,3,4,0],[5,6,7,8],[1,9,'a','b'],['a','c','d','e']]
res = list()
for tp in list(combinations(lst, 2)):
    s = set(tp[0]) & set(tp[1])
    if len(s) == 0:
        continue
    if len(s) == 1: # 重复为1个的
        print(tp[0], tp[1], s.pop())
    res.append(tp[0])
    res.append(tp[1])
    
for t in lst:
    if t not in res:
        print(t) # 重复为0个的