Python 这个听写理解在这个程序中是如何工作的?
帮助理解听写理解 按值对dict排序Python 这个听写理解在这个程序中是如何工作的?,python,Python,帮助理解听写理解 按值对dict排序 aDict = {'Maharashtra': 4238, 'Delhi': 2003, 'Gujarat': 1743, 'Rajasthan': 1478, 'Tamil Nadu': 1477} sorted_dict = {k:v for k,v in sorted(aDict.items(), key= lambda item:items[1])} 代码背后的想法似乎是生成一个排序字典 这在p
aDict = {'Maharashtra': 4238,
'Delhi': 2003,
'Gujarat': 1743,
'Rajasthan': 1478,
'Tamil Nadu': 1477}
sorted_dict = {k:v for k,v in sorted(aDict.items(), key= lambda item:items[1])}
代码背后的想法似乎是生成一个
排序字典
这在python中通常不是一件事,除非在最近的版本中,dict
类型已更改为按添加项目的顺序保存项目
dict
理解按值的顺序添加来自aDict
的项,因此理解将保持此顺序
代码的思想是,它生成具有以下值的sorted\u dict
:
{'Tamil Nadu': 1477, 'Rajasthan': 1478, 'Gujarat': 1743, 'Delhi': 2003, 'Maharashtra': 4238}
如果我是正确的,那么这段代码的思想是创建按值排序的dict,但存在一些问题:
key=lambda-item:items[1]
lambda中的items未定义,因此python将引发异常
想法:
1) 排序函数将返回元组列表(键,值)
按值从最小到最大排序
[('Tamil Nadu',1477),('Rajasthan',1478),('Gujarat',1743),('Delhi',2003),('Maharashtra',4238)]
2) 口述理解将以升序创建词典
{'Tamil Nadu':1477,'Rajasthan':1478,'Gujarat':1743,'Delhi':2003,'Maharashtra':4238}
如果您关心字典中的顺序,我可以建议您使用OrderedDict您具体询问的是什么?顺便说一句,您的代码中有一个错误。请用完整的错误回溯更新您的问题。