use*_*351 2 python sorting dictionary
我有一本字典如mydict={'tom': '100','dick': '50','harry': '121','jim':'25'}.请注意值是字符串格式的数字.我写了一个函数来根据值按降序排序键
def sortfunc(dict_arg):
return sorted(dict_arg.keys(),key=dict_arg.get,reverse=True)
Run Code Online (Sandbox Code Playgroud)
所以我的输出应该是['harry','tom','dick','jim']因为'harry'具有最高值121并且jim具有最低值25.但是我得到['dick','jim','harry','tom']因为值是asciibetically ordered.现在我需要找出一种方法来将值转换为整数和按转换为整数的值对键进行排序.任何提示我正确方向的提示都值得赞赏.
您可以在此处使用lambda函数将值转换为int
mydict={'tom': '100','dick': '50','harry': '121','jim':'25'}
print sorted(mydict, key = lambda k: int(mydict[k]), reverse = True)
Run Code Online (Sandbox Code Playgroud)
产量
['harry', 'tom', 'dick', 'jim']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
381 次 |
| 最近记录: |