python list多级排序知识点总结

在python3的sorted中去掉了cmp参数,转而推荐“key+lambda”的方式来排序。

如果需要对python的list进行多级排序。有如下的数据:

list_num = [[12,3],[18,34],[18,10],[12,45],[18,10],[8,34]]

需要从小到大的排序。先比较第一个数,如果第一个数相等的话比较第二个数。代码如下:

#默认的sort函数会先对第一个比较,如果第一个相等再比较第二个
print(sorted(list_num))
//OUTPUT:[[8, 34], [12, 3], [12, 45], [18, 10], [18, 10], [18, 34]]
#先用第二个数排序,若相等再用第一个数排序
print(list_num, key = lambda x:(int(x[0]),int(x[1])))

//output:[[12, 3], [18, 10], [18, 10], [8, 34], [18, 34], [12, 45]]

因为sort函数是安装list中数据的先后顺序进行排序的;因此使用lambda将list中数据的位置进行调换就可以对数据安装某些位置的排序。

以上就是本次介绍的全部相关知识点,感谢大家的阅读和对我们的支持。

(0)

相关推荐

  • Python中的list与tuple集合区别解析

    Python中内置了list集合与tuple集合,在list集合中可以实现元素的添加.修改.插入.以及删除.tuple集合看似与list类似,但两者还是有很大的区别. 在tuple集合中,一旦元素被存储,以后就不能修改,删除了,这比list集合安全许多,所以能用tuple就用tuple.以下是list集合代码实现. L=['Java','Python','C++'] #注意,这里用的是中括号来表示list集合 L.append('PhP')#元素的添加 print(L[-1])#查找最后一个元素

  • Python列表list常用内建函数实例小结

    本文实例总结了Python列表list常用内建函数.分享给大家供大家参考,具体如下: >>> x = list(range(10)) >>> import random >>> random.shuffle(x) #打乱顺序 >>> x [2, 4, 5, 9, 3, 7, 8, 0, 6, 1] >>> max(x) #返回最大值 9 >>> min(x) #返回最小值 0 >>>

  • Python 中list ,set,dict的大规模查找效率对比详解

    很多时候我们可能要频繁的进行元素的find 或in操作,本人一直天真的以为python的list做了hash,通过红黑树来高效查找···直到今天我真正来测试它和set,dict的查找效率时,才发现自已想太多了!!!! 先看代码: __author__ = 'jmh081701' import numpy import time l=[] sl=set() dl=dict() r=numpy.random.randint(0,10000000,100000) for i in range(0,10

  • Python List列表对象内置方法实例详解

    本文实例讲述了Python List列表对象内置方法.分享给大家供大家参考,具体如下: 前言 在上一篇中介绍了Python的序列和String类型的内置方法,本篇继续学习作为序列类型成员之一的List类型的内置方法. 软件环境 系统 UbuntuKylin 14.04 软件 Python 2.7.3 IPython 4.0.0 列表List 列表是一种容器,存放内存对象的引用.即是任意内存对象的有序集合,不同的类型对象可以存放在同一个列表中.通过索引来访问其中的元素.可以任意的嵌套.伸长.异构.

  • python list多级排序知识点总结

    在python3的sorted中去掉了cmp参数,转而推荐"key+lambda"的方式来排序. 如果需要对python的list进行多级排序.有如下的数据: list_num = [[12,3],[18,34],[18,10],[12,45],[18,10],[8,34]] 需要从小到大的排序.先比较第一个数,如果第一个数相等的话比较第二个数.代码如下: #默认的sort函数会先对第一个比较,如果第一个相等再比较第二个 print(sorted(list_num)) //OUTPUT

  • Python关于拓扑排序知识点讲解

    对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前. 通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列.简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序. 在图论中,由一个有向无环图的顶点组成的序列,当且仅当满足下列条件时,称为该图的一个拓扑排序(英语:Topolog

  • Python利用operator模块实现对象的多级排序详解

    前言 最近在工作中碰到一个小的排序问题,需要按嵌套对象的多个属性来排序,于是发现了Python里的operator模块和sorted函数组合可以实现这个功能.本文介绍了Python用operator模块实现对象的多级排序的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 比如我有如下的类关系,A对象引用了一个B对象, class A(object): def __init__(self, b): self.b = b def __str__(self): return "[%s, %s,

  • Python使用sort和class实现的多级排序功能示例

    本文实例讲述了Python使用sort和class实现的多级排序功能.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- import random class Temp: def __init__(self, a, b, c): self.a = a self.b = b self.c = c def __str__(self): return ( ('[a: %d b: %d c: %d]' % (self.a, self.b, self.c))) def cmp

  • python文件操作相关知识点总结整理

    本文汇总了python文件操作相关知识点.分享给大家供大家参考,具体如下: 总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来删除一个文件:os.remove() 删除多个目录:os.removedirs(r"c:\python&q

  • Python实现字典排序、按照list中字典的某个key排序的方法示例

    本文实例讲述了Python实现字典排序.按照list中字典的某个key排序的方法.分享给大家供大家参考,具体如下: 1.给字典按照value按照从大到小排序 排序 dict = {'a':21, 'b':5, 'c':3, 'd':54, 'e':74, 'f':0} new_dict = sorted(dict.iteritems(), key=lambda d:d[1], reverse = True) print new_dict 输出: [('e', 74), ('d', 54), ('

  • python线程优先级队列知识点总结

    Python 的 Queue 模块中提供了同步的.线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列 PriorityQueue. 1.说明 这些队列都实现了锁原语,能够在多线程中直接使用,可以使用队列来实现线程间的同步. 模块中的常用方法如下: Queue.qsize() 返回队列的大小 Queue.empty() 如果队列为空,返回True,反之False Queue.full() 如果队列满了,返回True,反之False Q

  • python manim实现排序算法动画示例

    目录 什么是 manim 冒泡排序介绍 算法步骤 初始化元素 代码说明 元素交换动画 实现代码 什么是 manim Manim 是一个用于精确编程动画的引擎,专为创建解释性数学视频而设计. 注意,有两个主要版本的 manim.该存储库最初是 3Blue1Brown 的作者的个人项目,目的是为这些视频制作动画,此处提供了视频专用代码.2020 年,一群开发人员将其分叉成现在的社区版,目标是更稳定.更好地测试.更快地响应社区贡献,以及更友好地开始使用. 主要版本如下: 3b1b/manim [最新版

  • python实现八大排序算法(2)

    本文接上一篇博客python实现的八大排序算法part1,将继续使用python实现八大排序算法中的剩余四个:快速排序.堆排序.归并排序.基数排序 5.快速排序 快速排序是通常被认为在同数量级(O(nlog2n))的排序方法中平均性能最好的. 算法思想: 已知一组无序数据a[1].a[2].--a[n],需将其按升序排列.首先任取数据a[x]作为基准.比较a[x]与其它数据并排序,使a[x]排在数据的第k位,并且使a[1]~a[k-1]中的每一个数据<a[x],a[k+1]~a[n]中的每一个数

  • python实现八大排序算法(1)

    排序 排序是计算机内经常进行的一种操作,其目的是将一组"无序"的记录序列调整为"有序"的记录序列.分内部排序和外部排序.若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序.反之,若参加排序的记录数量很大,整个序列的排序过程不可能完全在内存中完成,需要访问外存,则称此类排序问题为外部排序.内部排序的过程是一个逐步扩大记录的有序序列长度的过程. 看图使理解更清晰深刻: 假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序

随机推荐