Python 从字典中提取n个顶级元素

Python 从字典中提取n个顶级元素,python,Python,我已经用python创建了一个字典。我已经按照下面的说明把字典分类了 dict = {} dict[identifier] = dst sorted_dict = sorted(dict.items(), key=operator.itemgetter(1)) print sorted_dict 这里的标识符是键,dst是值 我想从字典中检索第一个N元素。我如何才能做到这一点?使用slicing提取列表中的n元素 >>> print(sorted_dict[:n]) 使用

我已经用python创建了一个
字典
。我已经按照下面的说明把字典分类了

dict = {}

dict[identifier] = dst
sorted_dict = sorted(dict.items(), key=operator.itemgetter(1))
print sorted_dict
这里的
标识符
dst


我想从字典中检索第一个
N
元素。我如何才能做到这一点?

使用
slicing
提取列表中的
n
元素

>>> print(sorted_dict[:n])

使用
slicing
提取列表中的
n
元素

>>> print(sorted_dict[:n])
这是一条路:

from collections import Counter
count_dict = Counter(the_dict)
print(count_dict.most_common(n))
这里有一个

就是这样:

from collections import Counter
count_dict = Counter(the_dict)
print(count_dict.most_common(n))


这里有一张

打印件(已排序)
?使用
计数器
会更容易吗?@Netwave它会,这就是为什么我对下面的答案感到失望。鹦鹉学舌的Aran Fey的评论有两张赞成票,而且还没有人提供基于计数器的解决方案。@cswah我们优化的是珍珠,而不是沙子。有些人(不是我)通过简单的搜索很容易找到的常见重复问题进行向下投票,因为这表明您在发布问题之前没有做太多的研究。
print(sorted_dict[:N])
?使用
Counter
?@Netwave会更容易吗,这就是为什么我对下面鹦鹉学舌的回答感到失望的原因Aran Fey的评论有两张赞成票,而且还没有人提供基于计数器的解决方案。@cswah我们优化的是珍珠,而不是沙子。一些人(不是我)否决了简单搜索即可找到的常见重复问题,因为这表明你在发帖之前没有做太多的研究。不要生气,这只是一个有效的例子@coldspeedsorry关于python 2中的@coldspeed OP问题,这就是我在python 2中回答的原因,我下次会处理这个问题:(@cswah-um,这句话也适用于你,请看不要生气,这只是一个工作示例。@coldspeed对python 2中的@coldspeed OP问题表示担忧,这就是我在python 2中回答的原因,我下次会处理这个问题:(@cswah-Umm,这个评论也适用于你,请看,这应该是公认的答案。还要注意,计数器对数值最有效,你只需要创建一次,而不需要重复排序。@coldspeed,是的,实际上,它对O(n)有效吗?是的,对于任何k