You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python字典转数组代码中lambda x:(-x[1],x[0])含义解析

解析sorted函数中lambda x:(-x[1],x[0])的含义

先明确代码的整体逻辑:D.items()会把字典D转换成由(键, 值)元组组成的列表,而sorted()函数通过key参数指定排序规则,最终生成排序后的数组res。

这个lambda表达式是给sorted()提供排序依据的核心逻辑,拆解来看:

  • x代表D.items()中的每一个(键, 值)元组
  • -x[1]:x[1]是元组里的值(value),加负号是为了让sorted()按照值的降序排列(因为Python的sorted()默认是升序排序,给值加负号后,数值大的值会变成更小的负数,排序时会被排到前面)
  • x[0]:当两个元组的值(value)相等时,就会按照x[0]也就是键(key)的升序排列(默认升序,比如字符串按字母顺序、数字按大小)

举个实际例子:
如果字典D = {'apple': 5, 'banana': 3, 'cherry': 5},D.items()得到[('apple',5), ('banana',3), ('cherry',5)],用这个lambda作为key排序后,结果会是[('apple',5), ('cherry',5), ('banana',3)]——apple和cherry的值都是5,所以按键的字母顺序排列,banana的值最小排在最后。

内容的提问来源于stack exchange,提问作者Kaira Wadhwa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 13:02:34