考虑这种字典格式。
{'KEY1':{'name':'google','date':20100701,'downloads':0},
'KEY2':{'name':'chrome','date':20071010,'downloads':0},
'KEY3':{'name':'python','date':20100710,'downloads':100}}
我希望字典首先按下载量排序,然后所有没有下载的项目按日期排序。显然字典无法排序,我只需要一个可以迭代的已排序键列表。
['KEY3','KEY1','KEY2']
我已经可以使用以下任一值对列表进行排序sorted
,但是我如何也按第二个值排序?
Use the key
论证sorted()
。它允许您指定一个函数,在给定实际排序项的情况下,该函数返回应排序的值。如果此值是元组,则它的排序方式类似于元组排序 - 按第一个值,然后按第二个值。
sorted(your_list, key=lambda x: (your_dict[x]['downloads'], your_dict[x]['date']))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)