甲乙丙三人参加一个三观测试,测试内容(来自奇葩说)及结果(有些问题可不答)如下。比较三人三观的相似度(保留两位小数)。
import itertools as it
choiceA = {'1Y', '2Y', '3Y', '4N', '5N', '6Y', '7Y', '8N', '9Y'}
choiceB = {'1N', '2N', '3Y', '4Y', '5Y', '6N', '7Y', '9Y'}
choiceC = {'1N', '2N', '3Y', '4Y', '6N', '7Y', '8Y', '9N'}
dic_ = {'A': choiceA,'B': choiceB,'C': choiceC,}
res = it.combinations(dic_.keys(), 2)
for k1,k2 in res:
score = len(dic_[k1] & dic_[k2]) / max(len(dic_[k1]), len(dic_[k2]))
print(f"{k1}与{k2}的相似度为{score:.2f}")
--result
A与B的相似度为0.33
A与C的相似度为0.22
B与C的相似度为0.75