Skip to main content
 首页 » 编程设计

python之反转字典并显示值

2025年05月04日16Leo_wl

我想反转字典并以特定格式显示它。这是示例输入:

{'john':34.480, 'eva':88.5, 'alex':90.55, 'tim': 65.900}  

输出应该是:

这是我使用代码的地方,但问题是它返回一个列表而不是字典。

代码:

def formatted_print(my_dict): 
    d = my_dict 
    c = sorted(d.items(), cmp=lambda a,b: cmp(a[1], b[1]), reverse=True) 
    return (c) 

请您参考如下方法:

如果你想按这样的顺序打印你的项目你不需要另一个字典,你可以循环排序的项目并打印键和值:

>>> d = {'john':34.480, 'eva':88.5, 'alex':90.55, 'tim': 65.900} 
>>> for k, v in sorted(d.items(), key = itemgetter(1), reverse=True): 
...     print k, '\t', v 
...  
alex    90.55 
eva     88.5 
tim     65.9 
john    34.48 
>>>  

但是如果您想按降序保存项目,因为字典不是像列表这样的有序数据结构,您可以使用 collections.OrderedDict 来创建有序字典:

>>> from collections import OrderedDict 
>>> from operator import itemgetter 
>>> 
>>> D = OrderedDict(sorted(d.items(), key = itemgetter(1), reverse=True)) 
>>>  
>>> D 
OrderedDict([('alex', 90.55), ('eva', 88.5), ('tim', 65.9), ('john', 34.48)])