-
2021-04-27 02:05:55
方法一:
假设有一个学生列表存储了学号,姓名,年龄信息:
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))
更多相关内容 -
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2020-09-21 09:59:31本文主要简单的介绍使用Python处理txt汉字文字、二维列表排序和获取list下标的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧 -
Python二维列表排序(也适用于字典)
2021-07-10 01:30:52key是指依据什么排序,我们使用匿名函数lambda,lambda x:x[0],把x作为参数传递进去,返回值为x[0],对应于列表就是把二维列表中的列表元素传递进lambda返回列表元素的第一个元素作为key值排序 ...lst = sorted(lst, key=lambda x:x[0])
理由:
对于sorted这个函数来说,需要接收迭代序列,也就是列表,字典也可以。key是指依据什么排序,我们使用匿名函数lambda,lambda x:x[0],把x作为参数传递进去,返回值为x[0],对应于列表就是把二维列表中的列表元素传递进lambda返回列表元素的第一个元素作为key值排序 -
python二维列表排序方法
2020-03-27 18:37:58有如下二维列表: l2 = [["2011-1-1",23],["2011-1-1",34],["2012-1-2",13],["2011-1-1",12],["2012-1-2",12]] 排序方式: from operator import itemgetter # 日期主排序关键字,分数为次排序关键字,均为升序 l2...有如下二维列表:
l2 = [["2011-1-1",23],["2011-1-1",34],["2012-1-2",13],["2011-1-1",12],["2012-1-2",12]]
排序方式:
from operator import itemgetter # 日期主排序关键字,分数为次排序关键字,均为升序 l2 = [["2011-1-1",23],["2011-1-1",34],["2012-1-2",13],["2011-1-1",12],["2012-1-2",12]] l2.sort(key=itemgetter(0,1)) print(l2) # 日期升序,分数降序 l2 = [["2011-1-1",23],["2011-1-1",34],["2012-1-2",13],["2011-1-1",12],["2012-1-2",12]] l2.sort(key=itemgetter(1), reverse=True) l2.sort(key=itemgetter(0)) print(l2)
结果:
[['2011-1-1', 12], ['2011-1-1', 23], ['2011-1-1', 34], ['2012-1-2', 12], ['2012-1-2', 13]] [['2011-1-1', 34], ['2011-1-1', 23], ['2011-1-1', 12], ['2012-1-2', 13], ['2012-1-2', 12]]
-
Python-二维列表排序
2021-11-15 15:39:03二维列表的排序1、通过指定列表中的元素对列表进行排序2、使用方法 List sort()3、排序方法1:方法2: 1、通过指定列表中的元素对列表进行排序 给定列表:list1 = [[2, 2], [3, 4], [4, 1], [1, 3]] 2、使用方法 ...1、通过指定列表中的元素对列表进行排序
给定列表:list1 = [[2, 2], [3, 4], [4, 1], [1, 3]]
2、使用方法 List sort()
- 描述:对原列表进行排序。
- 语法:list.sort( key=None, reverse=False)
- 返回值:该方法没有返回值
- 参数:
key – 是用来进行比较的元素。
reverse – 排序规则,reverse = True 降序,reverse = False 升序(默认)。
3、排序
使用二维列表元素的第二元素进行排序
方法1:
# 获取第二个元素 list1 = [[2, 2],[3, 4],[4, 1],[1, 3]] def takeSecond(ele): return ele[1] list1.sort(key=takeSecond) print('排序1:', list1)
输出结果:排序1: [[4, 1], [2, 2], [1, 3], [3, 4]]
方法2:
# 使用lambda函数获取第二个元素 list1 = [[2, 2],[3, 4],[4, 1],[1, 3]] # 根据第二元素 倒序排列 list1.sort(key=lambda ele: ele[1], reverse=True) print("排序2:", list1)
输出结果:排序2: [[3, 4], [1, 3], [2, 2], [4, 1]]
以上内容参考菜鸟教程编写
-
python 对二维列表的排序
2020-06-19 14:38:17例如[[ ], [ ], [ ]]这样的列表,对它进行排序~ 第一种: 使用lambda对列表中的数据进行排序: 如果不懂lambda的可以去百度哦 有很多详细内容 按数字排序: mylist = [['张三', 0.3], ['李四', 0.4], ['王五', ... -
python中如何对二维列表进行排序?
2021-05-18 14:40:56from operator import itemgetter ...student2 = sorted(student,key=(lambda x:x[2])) # x[2]这边是按照列表的下标进行选取 #lambda是,x=list,x[2],选择第二个元素 print(" 原来的是:{}".format(student -
Python 二维列表按多列排序 & 反向排序
2021-07-16 15:23:01Python 二维列表按多列排序 (有多个元素需要排序代码 代码 两种方法均可 raw_list = [[6,2,'c'],[4,5,'b'],[7,8,'a']] sorted_list = sorted(list1, key=(lambda x: [x[2], x[1], x[0]])) # 或者,反向排序 raw_... -
python 使用sorted方法对二维列表排序
2020-08-25 12:33:10list3 = [['1', '15', '8'], ['1', '14', '2'], ['1', '15', '9'], ['1', '14', '3'], ['1', '16', '0'], ['1', '15', '1'], ['1', '16', '2'], ['1', '...def sort3(list1): #对数字列表排序 list2 = sorted(list1. -
python 二维列表中按照多个关键字排序
2020-03-13 11:23:11people.sort(key = lambda x:(x[0],x[1])) -
python 对二维列表的排序sorted()函数------(超详细)
2021-03-27 14:57:17很多时候小伙伴们需要对二维列表的数据进行排序: 例如(成绩排序): 如何按照每个人的成绩进行降序排序呢?? 看代码: student = [["小明","数学","88"],["小红","数学","99"],["小刚","数学","85"]] student2 =... -
python 二维列表中数字为字符串时排序
2021-09-24 14:10:00例如:二维列表如下: students = [['Jack','12'],[Rose','13'],['Tom','10'],['Sam','12'],['Joy','8']] students = sorted(students ,key=(lambda x:int(x[1]))) -
python使用lambda表达式对二维列表排序
2020-11-27 21:33:18在很多时候需要对二维列表的第一个元素或者是第二个元素按照升序或者是降序进行排序,python提供了lambda表达式方便我们自定义排序的规则,可以直接调用列表的sort方法进行排序(会修改当前的列表)或者是直接使用... -
Python – 如何将多维列表排序为二维列表?
2020-12-09 10:17:57这个想法基本上与@TerryA中的那个回答相同,但是使用setdefault并在for循环结束时检查是否添加了深度:lst = [8, [6, 7, [-1], [4, [[10]]], 2], 1]def depths(l):def flatten(l, start=0, depth={}):for e in l:if ... -
python教程:[74]列表排序
2020-12-03 23:43:38列表排序,做数据经常用到的一个方法,在python中想实现排序有时候觉得挺难,比如按照行排序或按照列排序,写起来都不简单,今天在这里总结一下在python中实现排序的所有方法,如有不全,请下面留言。1,简单排序最... -
Python 二维数组排序
2018-09-25 23:56:58多维数组的排序 之前在matlab上面想了好久。 用python实现很简单: a = [[2,3,4], [2,4,5],[3,3,4]] sorted(a, key=lambda x: (x[1], x[0])) print(a) [[2, 3, 4], [2, 4, 5], [3, 3, 4]] ... -
Python学习笔记——Numpy数组的排序和搜索
2020-12-21 04:01:27构建一个二维数组 t(元素随机输入) 使用sort函数进行排序,默认会分别将每一行的元素进行升序排序 也可以添加axis参数使其按列进行排序,默认 axis = 1,即按行排序;axis = 0 时,按列排序 拓展 where函数 ... -
python二维列表
2020-11-30 11:14:07方法一:使用 lambda 关键词辅助对二维列表进行排序,lambda的使用方法参考https:blog.csdn.netzjuxslarticledetails79437563假设有一个学生列表存储了学号,姓名,年龄信息:students = ,]按学号顺序排序:sorted... -
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2021-01-13 09:43:34本文实例讲述了Python实现二维数组按照某行或列排序的方法。分享给大家供大家参考,具体如下:lexsort支持对数组按指定行或列的顺序排序;是间接排序,lexsort不修改原数组,返回索引。(对应lexsort 一维数组的是... -
如何按列对二维列表排序
2021-03-05 20:57:47我怎样才能去掉这些if语句,并通过使用for循环而不使用numpy来使它更简单def sortColumns(grid):if grid[0][0] > grid[1][0]:grid[0][0],grid[1][0]= grid[1][0],grid[0][0]if grid[2][0] <...