使用^{},交换你的keys和valuesfrom collections import defaultdict
dct = defaultdict(list)
for k, v in pN.items():
dct[v].append(k)
# defaultdict(, {10: ['dave', 'jacinta'], 8: ['james'], 6: ['john'], 3: ['jack'], 2: ['sam']})
使用sorted输出:
^{pr2}$
function返回topn用户(将ties视为一个条目):def top_n(d, n):
dct = defaultdict(list)
for k, v in d.items():
dct[v].append(k)
return sorted(dct.items())[-n:][::-1]
top_n(pN, 3)
# [(10, ['dave', 'jacinta']), (8, ['james']), (6, ['john'])]
使用defaultdict既简单又快速,下面是一些时间来证明它:
将定时的函数def chris_z(d, n):
dct = defaultdict(list)
for k, v in d.items():
dct[v].append(k)
return sorted(dct.items())[-n:][::-1]
def tim_lombard(score_dict, n):