根据矩阵每行包含的词汇,分析行与行之间的亲密度

一个矩阵如下:
[猪,狗,猫,羊,兔]
[猪,狗,猫,兔,马]
[猪,蛇,驴,鱼,鸡]

第一行和第二行包含有3个相同的词汇,
第一行和第三行包含有1个相同的词汇,
第二行和第三行包含有1个相同的词汇。

由此可见,第一行和第二行亲密度更高。

如何用算法计算出这样的亲密度呢?

第一行和第二行包含有3个相同的词汇?不是4个吗

img


def Intimacy(lst1, lst2):
    count = 0
    for item in lst1:
        if item in lst2:
            count += 1
    print("亲密度:", count)


lst = [['猪', '狗', '猫', '羊', '兔'],
       ['猪', '狗', '猫', '兔', '马'],
       ['猪', '蛇', '驴', '鱼', '鸡']]
for i in range(len(lst)-1):
    for j in range(i+1, len(lst)):
        print(f"第{i+1}行和第{j+1}行", sep='')
        Intimacy(set(lst[i]), set(lst[j]))


转成set,然后求一下set之间的交集