如何在python的dict列表中找到最大重复值?
例如
smp_dict =
{ 0: [18, 2, 17, 12, 15, 0, 3],
1: [13, 0, 3, 11, 4],
2: [18, 2, 17, 12, 15, 8],
3: [17, 12, 15, 5, 0, 3, 11],
4: [9, 13]}
我期望的输出
result = [17,12,15,0,3,13,11]
result =最常用的值,result-1 =最不常用的值
请帮帮我
发布于 2021-06-06 20:54:31
您可以使用collections.Counter
,在其中放入来自dict的所有值的所有值,然后保持键(项)按出现的顺序排列
from collections import Counter
smp_dict = {
0: [18, 2, 17, 12, 15, 0, 3],
1: [13, 0, 3, 11, 4],
2: [18, 2, 17, 12, 15, 8],
3: [17, 12, 15, 5, 0, 3, 11],
4: [9, 13]
}
c = Counter(x for sublist in smp_dict.values() for x in sublist)
# {17: 3, 12: 3, 15: 3, 0: 3, 3: 3, 18: 2, 2: 2, 13: 2, 11: 2, 4: 1, 8: 1, 5: 1, 9: 1}
result = [x[0] for x in c.most_common()]
print(result) # [17, 12, 15, 0, 3, 18, 2, 13, 11, 4, 8, 5, 9]
https://stackoverflow.com/questions/67859328
复制相似问题