我有一本字典,每个条目都是这样形成的:(“word”:4,“word2”:6 ......)。我想创建一个新的字典,它只包含具有最高值的旧字典中的10个条目。有谁知道我会怎么做?
答案 0 :(得分:2)
您可以从字典中创建collection.Counter
,获取most_common
字,并从返回的元组列表中创建新的dict
:
>>> d = {"word%d"%i : random.randint(0,100) for i in range(10)}
>>> dict(collections.Counter(d).most_common(5))
{'word4': 92, 'word2': 83, 'word3': 89, 'word5': 72, 'word9': 47}
或更多"手动",使用sorted
使用特殊key
功能并切片,结果相同:
>>> dict(sorted(d.items(), key=lambda t: -t[1])[:5])