我有一个像这样的嵌套 defaultdict:
defaultdict(<function __main__.<lambda>()>,
{'A': defaultdict(<function __main__.<lambda>()>,
{'a':2,
'b':1,
'd':2,
'f':1}
'B': defaultdict(<function __main__.<lambda>()>,
{'a':3,
'c':4,
'e':1}}
我想得到这样的输出:
B,c : 4
B,a : 3
A,a : 2
如何对这样的嵌套 defaultdict 进行排序?
提前感谢您的帮助。
如何将默认字典展平为计数器,然后调用
Counter.most_common
?
>>> from collections import Counter, defaultdict
>>> my_dict = defaultdict({...})
>>> flattened = {f'{K},{k}':v for K, d in my_dict.items() for k, v in d.items()}
>>> Counter(flattened).most_common(3)
[('B,c', 4), ('B,a', 3), ('A,a', 2)]