python dict-list排序

sort + lamba  或 sorted + lamba, 这种方式也适用于 二维列表 与 对象列表

dict_list=[
  {'age': 1, 'grade': 3},
  {'age': 12, 'grade': 2},
  {'age': 3, 'grade': 2},
  {'age': 3, 'grade': 23},
  {'age': 7, 'grade': 32}
]
# 按照年龄倒序排列
dict_list.sort(key=lambda k:(k.get('age', 0)), reverse=True)
# 按照年龄、分数 倒序排列
dict_list.sort(key=lambda k:(k.get('age', 0), k.get('grade', 0)), reverse=True)
print(sorted(dict_list,key=lambda k:(k.get('age', 0), k.get('grade', 0)), reverse=True))
print(dict_list)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,我们可以使用sorted()函数对字典的key进行排序sorted()函数一共有三个参数,分别是iterable、key和reverse。其中,iterable表示可以迭代的对象,例如可以是dict.keys()等;key是一个函数,用来选取参与比较的元素;reverse用来指定排序是倒序还是顺序,默认时reverse为False。 以下是几种常见的对字典key进行排序的方法: 方法1:使用sorted()函数和dict.keys()方法进行排序 ```python dict1 = {"b": 5, "d": 2, "c": 4, "a": 1, "f": 3, "e": 6} key1 = sorted(dict1.keys()) print(key1) ``` 方法2:使用sorted()函数和lambda表达式进行排序 ```python dict1 = {"b": 5, "d": 2, "c": 4, "a": 1, "f": 3, "e": 6} key2 = sorted(dict1.items(), key=lambda y: y<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python_对 dict(字典)_的键(key)进行排序](https://blog.csdn.net/weixin_44786482/article/details/88848641)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python 数据类型 - dict 字典](https://blog.csdn.net/weixin_34580441/article/details/112831034)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值