sorted 对 tuple 集合 使用关键字排序

1. lamda关键字设置排序

s = [('john', 'A', 15), ('jane', 'C', 10), ('dave', 'B', 12)]

# 用lamda关键字设置排序key
print(sorted(s, key=lambda x: x[0]))
print(sorted(s, key=lambda x: x[1]))
print(sorted(s, key=lambda x: x[2], reverse=True))
[('dave', 'B', 12), ('jane', 'C', 10), ('john', 'A', 15)]
[('john', 'A', 15), ('dave', 'B', 12), ('jane', 'C', 10)]
[('john', 'A', 15), ('dave', 'B', 12), ('jane', 'C', 10)]

2. operator 函数 加快排序

from operator import itemgetter

s = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'A', 10), ]
print(sorted(s, key=itemgetter(0)))
print(sorted(s, key=itemgetter(2, 1)))  # 属性2先排序,再以属性1排序
print(sorted(s, key=itemgetter(1, 2)))  # 属性1先排序,再以属性2排序
[('dave', 'A', 10), ('jane', 'B', 12), ('john', 'A', 15)]
[('dave', 'A', 10), ('jane', 'B', 12), ('john', 'A', 15)]
[('dave', 'A', 10), ('john', 'A', 15), ('jane', 'B', 12)]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 1,822评论 0 1
  • 最近在慕课网学习廖雪峰老师的Python进阶课程,做笔记总结一下重点。 基本变量及其类型 变量 在Python中,...
    victorsungo阅读 1,785评论 0 5
  • Date: Nov 17-24, 2017 1. 目的 积累Storm为主的流式大数据处理平台对实时数据处理的相关...
    一只很努力爬树的猫阅读 2,222评论 0 4
  • # 第一优先级规则声明: # 除了梦境,每一个意识主进程都必须与一个身体参与的机械进程相匹配,否则结束意识主进程。...
    李洞BarryLi阅读 3,954评论 0 1
  • Python 是一种相当高级的语言,通过 Python 解释器把符合语法的程序代码转换成 CPU 能够执行的机器码...
    Python程序媛阅读 1,978评论 0 3