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

如何按双参数对元组列表排序:先按年龄、同年龄按姓名升序

实现方法

sorted() 函数的 key 参数支持返回元组,元组默认的排序规则就是按元素顺序依次比较优先级,刚好匹配你的需求:前一个元素相等时才会比较后一个元素。你只需要把排序条件按优先级顺序放进元组作为key即可:

  • 第一优先级按年龄升序,对应元组第一个位置放原元组的索引1(年龄字段)
  • 同年龄时按姓名字母升序,对应元组第二个位置放原元组的索引0(姓名字段)

代码示例

# 原始元组列表
people = [('John',32),('Jane',22),('Doe',32),('Mario',55)]
# 按规则排序
sorted_people = sorted(people, key=lambda x: (x[1], x[0]))
# 打印结果
print(sorted_people)

输出结果

[('Jane', 22), ('Doe', 32), ('John', 32), ('Mario', 55)]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 21:15:03