创建字典另一个排序字典(python)

时间:2018-02-22 15:17:30

标签: python python-3.x sorting dictionary

我有一本字典,每个条目都是这样形成的:(“word”:4,“word2”:6 ......)。我想创建一个新的字典,它只包含具有最高值的旧字典中的10个条目。有谁知道我会怎么做?

1 个答案:

答案 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])