我遇到一个问题,我有一个命令:map-x-to-y = {},并用map-x-to-y [some-string] = counter等值填充。
但是之后,如果我尝试调用sorted,我会不断收到“ list”对象不可调用的错误。
我尝试使用OrderedDict和sorted,但这些都不起作用。 另外,我检查了map-x-to-y的类型,它是“ dict”。
我的目标是按值降序对map-x-to-y进行排序。
答案 0 :(得分:1)
一些关键点
sorted
用于list
,而不是dict
。除非您知道如何将字典表示为列表。最佳答案是here。我的方法如下尝试一下
In [12]: humans
Out[12]: {'Ashley': 33, 'Danny': 33, 'Jackie': 12, 'Jenny': 22}
In [13]: sorted([ (y,x) for x,y in humans.items()])[::-1]
Out[13]: [(33, 'Danny'), (33, 'Ashley'), (22, 'Jenny'), (12, 'Jackie')]
items
将您的字典转换为元组列表