python的sorted用法详解


Posted in Python onJune 25, 2019

列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。

排序,数字、字符串按照ASCII,中文按照unicode从小到大排序

x = [4, 6, 2, 1, 7, 9]
x.sort()
print (x) # [1, 2, 4, 6, 7, 9]

 

如果需要一个排序好的副本,同时保持原有列表不变,怎么实现呢?

x = [4, 6, 2, 1, 7, 9]
y = x[:]
y.sort()
print(y) # [1, 2, 4, 6, 7, 9]
print(x) # [4, 6, 2, 1, 7, 9]

 

注意:y = x[:] 通过分片操作将列表x的元素全部拷贝给y,如果简单的把x赋值给y:y = x,y和x还是指向同一个列表,并没有产生新的副本。

另一种获取已排序的列表副本的方法是使用sorted函数:

x =[4, 6, 2, 1, 7, 9]
y = sorted(x)
print (y) #[1, 2, 4, 6, 7, 9]
print (x) #[4, 6, 2, 1, 7, 9]

 

sorted返回一个有序的副本,并且类型总是列表,如下:

print (sorted('Python')) #['P', 'h', 'n', 'o', 't', 'y']
# 2.有一个list['This','is','a','Boy','!'],所有元素都是字符串,对它进行大小写无关的排序
li=['This','is','a','Boy','!']
l=[i.lower() for i in li]
# l1 =l[:]
l.sort() # 对原列表进行排序,无返回值
print(l)
# print(sorted(l1))  # 有返回值原列表没有变化
# print(l1)

sort方法还有两个可选参数:key和reverse

1、key在使用时必须提供一个排序过程总调用的函数:

x = ['mmm', 'mm', 'mm', 'm' ]
x.sort(key = len)
print (x) # ['m', 'mm', 'mm', 'mmm']

2、reverse实现降序排序,需要提供一个布尔值:

y = [3, 2, 8 ,0 , 1]
y.sort(reverse = True)
print (y) #[8, 3, 2, 1, 0]

True为倒序排列,False为正序排列

Python 相关文章推荐
python高并发异步服务器核心库forkcore使用方法
Nov 26 Python
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
Feb 24 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
利用python对Excel中的特定数据提取并写入新表的方法
Jun 14 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
Oct 17 Python
python之pexpect实现自动交互的例子
Jul 25 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
Sep 04 Python
Anaconda 查看、创建、管理和使用python环境的方法
Dec 03 Python
python基于三阶贝塞尔曲线的数据平滑算法
Dec 27 Python
python实现飞机大战游戏(pygame版)
Oct 26 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
Dec 27 Python
python模块与C和C++动态库相互调用实现过程示例
Nov 02 Python
PyQt5实现简易电子词典
Jun 25 #Python
python如何制作英文字典
Jun 25 #Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
Jun 25 #Python
python模拟菜刀反弹shell绕过限制【推荐】
Jun 25 #Python
Pandas之DataFrame对象的列和索引之间的转化
Jun 25 #Python
Pandas之Fillna填充缺失数据的方法
Jun 25 #Python
PYQT5实现控制台显示功能的方法
Jun 25 #Python
You might like
PHP安全配置
2006/10/09 PHP
PHP HTML代码串截取代码
2008/12/29 PHP
php 代码优化之经典示例
2011/03/24 PHP
PHP的PDO操作简单示例
2016/03/30 PHP
PHP foreach遍历多维数组实现方式
2016/11/16 PHP
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
jQuery中使用了document和window哪些属性和方法小结
2011/09/13 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
js中数组Array的一些常用方法总结
2013/08/12 Javascript
12种不宜使用的Javascript语法整理
2013/11/04 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
2014/01/13 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
JS hashMap实例详解
2016/05/26 Javascript
在vue项目中使用Nprogress.js进度条的方法
2018/01/31 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
简介Python设计模式中的代理模式与模板方法模式编程
2016/02/02 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
Django CBV与FBV原理及实例详解
2019/08/12 Python
使用keras2.0 将Merge层改为函数式
2020/05/23 Python
Python实现快速大文件比较代码解析
2020/09/04 Python
Python3 + Appium + 安卓模拟器实现APP自动化测试并生成测试报告
2021/01/27 Python
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
豪华复古化妆:Besame Cosmetics
2019/09/06 全球购物
中国领先的汽车保养服务平台:途虎养车
2019/10/18 全球购物
中秋晚会活动方案
2014/08/31 职场文书
个人自荐书范文
2015/03/09 职场文书
2015年人力资源工作总结
2015/04/08 职场文书
义卖募捐活动总结
2015/05/09 职场文书
党支部意见范文
2015/06/02 职场文书
靠谱的活动总结
2019/04/16 职场文书
关于MybatisPlus配置双数据库驱动连接数据库问题
2022/01/22 Java/Android
P站美图推荐——变身女主角特辑
2022/03/20 日漫
5个实用的JavaScript新特性
2022/06/16 Javascript