python中的sort用法
内置的列表类型提供sort的方法
可以根据多项指标给list实例中的元素排序。在默认情况下,sort方法总是按照自然升序排列列表内的元素
#升序排列
list1=[2,3,1,2,5]
list1.sort()
print(list1) #[1, 2, 2, 3, 5] #降序排列可以使用指定参数reverse=True(默认是False)
list1=[2,3,1,2,5]
list1.sort(reverse=True)
print(list1) #[5, 3, 2, 2, 1]
对多个标准进行排序
在Python语言里,最简单的方案是利用元组(tuple)类型实现。元组是一种不可变的序列,能够存放任意的Python值。两个元组之间是可以比较的,因为这种类型本身已经定义了自然顺序
#元组可以比较大小,会依次比较每个位置的那两个对应元素,直到能够确定大小为止
a=(1,"a")
b=(2,"a")
print( a > b) #False c=(1,"b")
d=(1,"a")
print( c > d) #True
根据这个特性我们可以把需要比较的标准组成元组
a=[(4,"a"),(2,"b"),(4,"b"),(2,"a"),(3,"e")]
a.sort()
print(a) #[(2, 'a'), (2, 'b'), (3, 'e'), (4, 'a'), (4, 'b')] #如果我们只想特殊标准去排序可以使用关键词key
b=[(4,"a"),(2,"b"),(4,"b"),(2,"a"),(3,"e")]
#只按第一个标准去排序,如果第一个标准判断一致,则按原顺序排序
b.sort(key = lambda x : x[0])
print(b) #[(2, 'b'), (2, 'a'), (3, 'e'), (4, 'a'), (4, 'b')]
组合:
#按第一个标准去降序排序(这里用到一个一元减操作符),第二个参数升序
c=[(4,"a"),(2,"b"),(4,"b"),(2,"a"),(3,"e")]
c.sort(key = lambda x : (-x[0],x[1]))
print(c) #[(4, 'a'), (4, 'b'), (3, 'e'), (2, 'a'), (2, 'b')]
python中的sort用法的更多相关文章
- python 中del 的用法
python中的del用法比较特殊,新手学习往往产生误解,弄清del的用法,可以帮助深入理解python的内存方面的问题. python的del不同于C的free和C++的delete. 由于pyth ...
- python中argparse模块用法实例详解
python中argparse模块用法实例详解 这篇文章主要介绍了python中argparse模块用法,以实例形式较为详细的分析了argparse模块解析命令行参数的使用技巧,需要的朋友可以参考下 ...
- python中的sort方法
Python中的sort()方法用于数组排序,本文以实例形式对此加以详细说明: 一.基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不 ...
- python中的sort方法使用详解
Python中的sort()方法用于数组排序,本文以实例形式对此加以详细说明: 一.基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不 ...
- 【313】python 中 print 函数用法总结
参考:python 中 print 函数用法总结 参考:Python print() 函数(菜鸟教程) 参考:Python 3 print 函数用法总结 目录: 字符串和数值类型 变量 格式化输出 p ...
- python中MySQLdb模块用法实例
篇文章主要介绍了python中MySQLdb模块用法,以实例形式详细讲述了MySQLdb模块针对MySQL数据库的各种常见操作方法,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了python中 ...
- python中hashlib模块用法示例
python中hashlib模块用法示例 我们以前介绍过一篇Python加密的文章:Python 加密的实例详解.今天我们看看python中hashlib模块用法示例,具体如下. hashlib ha ...
- Python Deque 模块使用详解,python中yield的用法详解
Deque模块是Python标准库collections中的一项. 它提供了两端都可以操作的序列, 这意味着, 你可以在序列前后都执行添加或删除. https://blog.csdn.net/qq_3 ...
- Python中的sort()
Python中的sort()方法用于数组排序,本文以实例形式对此加以详细说明: 一.基本形式列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可 ...
随机推荐
- 使用过 Redis 分布式锁么,它是什么回事?
先拿 setnx 来争抢锁,抢到之后,再用 expire 给锁加一个过期时间防止锁忘记了 释放. 这时候对方会告诉你说你回答得不错,然后接着问如果在 setnx 之后执行 expire 之前进程意外 ...
- MyBatis 框架的缺点?
1.SQL 语句的编写工作量较大,尤其当字段多.关联表多时,对开发人员编写 SQL 语句的功底有一定要求. 2.SQL 语句依赖于数据库,导致数据库移植性差,不能随意更换数据库.
- Zookeeper 保证了如下分布式一致性特性?
1.顺序一致性 2.原子性 3.单一视图 4.可靠性 5.实时性(最终一致性) 客户端的读请求可以被集群中的任意一台机器处理,如果读请求在节点上注册了 监听器,这个监听器也是由所连接的 zookeep ...
- 攻防世界 Ditf misc
Ditf 附件下载下来就是一张图片,我们拉到hxd中发现应该有隐藏的压缩包 我们拉入到kali里面分析 意外发现图片高度被修改过我们先用binwalk分析图片看看 我们先尝试分离一下分离出一个压缩包但 ...
- 【C语言】预处理、宏定义、内联函数 _
一.由源码到可执行程序的过程 1. 预处理: 源码经过预处理器的预处理变成预处理过的.i中间文件 1 gcc -E test.c -o test.i 2. 编译: 中间文件经过编译器编译形成.s的 ...
- ROS系统-第一讲
ROS是什么 ROS历史起源 ROS总体设计 系统实现 初次实践
- android webview与jquery mobile相互通信
最近做android项目中遇到要在webview中做与js交互相关的东东,涉及到js中调用android本地的方法,于是查了资料整理了一下android和js互相调用的过程.如下demo,demo的主 ...
- vue-cropper裁剪上传
效果图: 全部代码: npm install vue-cropper //首先 安装vue-cropper main.js全局引用: import VueCropper from 'vue-cropp ...
- linux(Ubuntu)安装python
Linux下安装python 提前安装一个依赖环境 (1)ubuntu/Debian: sudo apt-get install -y gcc make cmake build-essential l ...
- 在原有mysql机器上增加一台实例
采用的是yum install mysql-community-server yum方式安装mysql(社区版) 文章基础上新加一个mysql实例. 这个完全可以直接实战上应用,只要规划好即可 服务器 ...