Skip to main content
 首页 » 编程设计

python之用于按值然后按键对 dict 进行排序的一行代码

2025年05月04日25dyllove98

假设我有以下字典...

sample = { 
  'a' : 100, 
  'b' : 3, 
  'e' : 42, 
  'c' : 250, 
  'f' : 42, 
  'd' : 42, 
} 

我想对这个字典进行排序,最高位排序是按值排序,低位排序是键位排序。

结果的键值对是这样的……

( ('b', 3), ('d', 42), ('e', 42), ('f', 42), ('a', 100), ('c', 250) ) 

我已经知道如何通过编写几行 python 代码来做到这一点。但是,我正在寻找一种可以执行这种排序的 python 单行程序,可能使用一种理解或一种或多种 python 的函数式编程结构。

这样的单行代码在 python 中甚至可能吗?

请您参考如下方法:

您可以定义一个同时使用值和键的 lambda。

sorted(sample.items(), key=lambda x: (x[1], x[0]))