【发布时间】:2021-08-14 10:36:11
【问题描述】:
我正在尝试解决这个任务,我有一个 dict 具有字符串键和值的字符串列表。
我需要首先按值的长度以降序对列表进行排序,然后对于计数,我需要按升序或它们的键对它们进行排序。
我的 dict 对象看起来像 {'XC': {'FF'}, 'AA': {'WW'}, 'XS': {'FF', 'DD'}},我希望它的排序像 {'XS': {'FF', 'DD'}, 'AA': {'WW'}, 'XC': {'FF'}}。在这里,因为键 AA 和 XC 在它们的值中都有一个长度。然后,它们应该按键的升序排列。产生AA,然后产生XC
我可以用这个完成第一次排序
sorted_keys = sorted( user_meals, key = lambda x: (len( user_meals[ x ] ), x), reverse = True )
print( key, user_meals[key] for key in sorted_keys ) # Because sorted returns a list in the prefered sorting order
无法弄清楚如何根据值长度按升序对键进行排序。
【问题讨论】:
-
第二次排序要怎么做?
-
抱歉,我编辑了问题@Mohammad
标签: python