专栏首页python3python二维列表排序

python二维列表排序

方法一:

使用 lambda 关键词辅助对二维列表进行排序,lambda的使用方法参考https://blog.csdn.net/zjuxsl/article/details/79437563

假设有一个学生列表存储了学号,姓名,年龄信息:

students = [[3,'Jack',12],[2,'Rose',13],[1,'Tom',10],[5,'Sam',12],[4,'Joy',8]]

按学号顺序排序:

sorted(students,key=(lambda x:x[0]))
[[1, 'Tom', 10], [2, 'Rose', 13], [3, 'Jack', 12], [4, 'Joy', 8], [5, 'Sam', 12]]

按年龄倒序排序:

sorted(students,key=(lambda x:x[2]),reverse=True)
[[2, 'Rose', 13], [3, 'Jack', 12], [5, 'Sam', 12], [1, 'Tom', 10], [4, 'Joy', 8]]

按年龄为主要关键字,名字为次要关键字倒序排序:

sorted(students,key=(lambda x:[x[2],x[1]]),reverse=True)
[[2, 'Rose', 13], [5, 'Sam', 12], [3, 'Jack', 12], [1, 'Tom', 10], [4, 'Joy', 8]]

方法二:

使用 operator 模块的 itemgetter 函数辅助对二维列表进行排序,结果和方法一相同。

from operator import itemgetter

按学号顺序排序:

sorted(students,key=itemgetter(0))

按年龄倒序排序:

sorted(students,key=itemgetter(2),reverse=True)

按年龄为主要关键字,名字为次要关键字倒序排序:

print(sorted(students,key=itemgetter(2,1),reverse=True))

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python-selenum3 第二天启

    在第一天创建的项目上,创建文件夹和python文件 在项目上右键New一个文件夹,在文件夹下new一个python File即可 新建python File的时...

    py3study
  • 使用python对redis操作

    首先声明,这是为了学习python对redis操作而写的一个小demo,包括了这几天网站找到的一些资料,综合总结出来一些东西,最后附上我写的一个用python操...

    py3study
  • python基本数据类型的介绍

    在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

    py3study
  • C# 多线程锁之ReaderWriterLockSlim

    .NET 3.5 开始 ReaderWriterLockSlim登上舞台,ReaderWriterLockSlim 可以看做是 ReaderWriterLock...

    郑小超.
  • Redis实现分布式锁(setnx、getset、incr)以及如何处理超时情况

    一、通过setnx实现 1、setnx key value 当且仅当key不存在,将key的值设置为value,并且返回1;若是给定的key已经存在,则se...

    yaphetsfang
  • Elasticsearch + Kibana 起步

    浏览器访问http://localhost:5601 , 可以看的界面,说明配置正确。

    Stanley Sun
  • 警车在巡逻时意外拍到了流星划过夜空 双子座流星雨正处于高峰期

    随着行车记录仪的普及,我们很容易捕捉到一些转瞬即逝的场景。而在双子座流星雨处于巅峰的当下,夜间巡逻的警员们,显然最有机会欣赏到流星划过夜空的美景。

    Zip
  • 使用技术拯救自然:物联网版

    几个世纪以来,人类把大自然视为可被驯服和征服的东西。而最近有所改变。近几十年来,社会意识已经改变,注意力已经转向保护环境,而不是试图控制环境,让它...

    未来守护者
  • 大数据挖掘算法篇之K-Means实例

      K-Means算法是聚类算法中,应用最为广泛的一种。本文基于欧几里得距离公式:d = sqrt((x1-x2)^+(y1-y2)^)计算二维向量间的距离,作...

    数据饕餮
  • Java 位运算符

    位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主...

    老九学堂-小师弟

扫码关注云+社区

领取腾讯云代金券