[英]How to find out the keys of a dictionary with maximum number of common values?
假设,有一本像
my_dict = {'A': {'5', '7', '9', '3'},
'B': {'4', '8','3'},
'C': {'5', '3', '2', '9'},
'D': {'1','6', '8','3'},
'E': {'4','3','5'}}
现在 output 应该像 {A,C} 因为它们有最多的公共值。
dct = {'A': {'5', '7', '9', '3'}, 'B': {'4', '8','3'}, 'C': {'5', '3', '2', '9'}, 'D': {'1','6', '8','3'}, 'E': {'4','3','5'}}
ans = [None, None]
mx = 0
for i in dct:
for j in dct:
if i != j and len(dct[i].intersection(dct[j])) > mx:
ans = [i, j]
mx = len(dct[i].intersection(dct[j]))
由于包含集合,为了找到公共元素的数量,我们有intersection
方法。
>>> ans
['A', 'C']
虽然,值得注意的是,这段代码总是会产生一对。 如果您想要更多数量的元素,则循环的数量将相应增加。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.