我有一本这样的字典:
A = {'a':10, 'b':843, 'c': 39,.....}
我想获得该字典的5个最大值,并以此存储一个新的字典。要获得最大值,我做了:
max(A.iteritems(), key=operator.itemgetter(1))[0:]
也许这是一项容易的任务,但是我坚持了很长时间。请帮忙!!!
你近了 您可以使用 [docs]
对列表进行 排序 ,并采用前五个元素:sorted
__
newA = dict(sorted(A.iteritems(), key=operator.itemgetter(1), reverse=True)[:5])
另请参阅:Python排序方法
问题内容: 可以说我有一本字典: 所以可以说我想写一个函数 获得具有前k个值的键(保持顺序,即开头出现最高值的键)的最有效方法(以大O表示)是什么? 问题答案: : 您可以使用关键字参数来指定应该用作排序键的内容,例如:
问题内容: 我有一个:键是字符串,值是整数。 例: 我想作为一个答案,因为它是具有更高价值的关键。 我使用带有反向键值元组的中间列表进行了以下操作: 那是一种更好(或更优雅)的方法吗? 问题答案: 您可以使用: 而不是在内存使用中构建新列表。该函数的参数是一个计算键的函数,该键用于确定如何对项目进行排名。 请注意,如果要使用另一个键值对,则此方法将仅返回两个值中的一个,即使它们都具有最大值。 如果
我很难理解下面的代码是如何在字典中找到最大值的键的。我知道第一个参数返回键列表。但我没有得到第二个参数..帮帮我
问题内容: 如何从字典中检索前3个列表? 预期结果: 问题答案: 用途: 计数器对象还具有其他各种优点,例如,使收集计数变得非常简单。
问题内容: 我正在尝试编写一个自定义过滤器方法,该方法接受任意数量的 kwargs 并返回一个列表,该列表包含包含这些 kwargs 的类似数据库的列表的元素。 例如,假设和=相同。结果为True。但是,假设=同一件事,再加上其他事情。我的方法需要能够确定 d1是否在d2中 ,但是Python无法使用字典来做到这一点。 内容: 我有一个字类,并且每个对象都有类似的属性,,,等等。我希望能够在这些单
我有两本字典Dict1和DICT2。Dict1中每个键的值如下所示: 但是Dict2由键组成,这些键是DICT1中的值。DICT2中的值是由元组组成的列表,如下所示。 我得到的当前输出是 我想要的输出应该是字典式的: