一个矩阵如下:
[猪,狗,猫,羊,兔]
[猪,狗,猫,兔,马]
[猪,蛇,驴,鱼,鸡]
第一行和第二行包含有3个相同的词汇,
第一行和第三行包含有1个相同的词汇,
第二行和第三行包含有1个相同的词汇。
由此可见,第一行和第二行亲密度更高。
如何用算法计算出这样的亲密度呢?
第一行和第二行包含有3个相同的词汇?不是4个吗
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之间的交集