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的Flask开发框架简单上手笔记
Nov 16 Python
python利用正则表达式搜索单词示例代码
Sep 24 Python
Python 中的Selenium异常处理实例代码
May 03 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
Apr 11 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
Jun 17 Python
python cumsum函数的具体使用
Jul 29 Python
学python安装的软件总结
Oct 12 Python
Scrapy框架实现的登录网站操作示例
Feb 06 Python
10个示例带你掌握python中的元组
Nov 23 Python
python asyncio 协程库的使用
Jan 21 Python
python实现大文本文件分割成多个小文件
Apr 20 Python
Python基础之进程详解
May 21 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/11/25 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
2014/11/04 PHP
合格的PHP程序员必备技能
2015/11/13 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
网页中实现浏览器的最大,最小化和关闭按钮
2007/03/12 Javascript
javascript tips提示框组件实现代码
2010/11/19 Javascript
js列举css中所有图标的实现代码
2011/07/04 Javascript
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
html中的input标签的checked属性jquery判断代码
2012/09/19 Javascript
javascript模拟地球旋转效果代码实例
2013/12/02 Javascript
js网页实时倒计时精确到秒级
2014/02/10 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
2018/05/16 Javascript
vue+element-ui+axios实现图片上传
2019/08/20 Javascript
vue组件实现移动端九宫格转盘抽奖
2020/10/16 Javascript
Vue 数据响应式相关总结
2021/01/28 Vue.js
Python中的jquery PyQuery库使用小结
2014/05/13 Python
python文件与目录操作实例详解
2016/02/22 Python
Python SQLite3简介
2018/02/22 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
Python实现迪杰斯特拉算法并生成最短路径的示例代码
2020/12/01 Python
matplotlib交互式数据光标mpldatacursor的实现
2021/02/03 Python
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
英国最大的电脑零售连锁店集团:PC World
2016/10/10 全球购物
Europcar美国/加拿大:预订汽车或卡车租赁服务
2018/11/13 全球购物
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
教师岗位职责范本
2013/12/29 职场文书
城市规划应届生推荐信
2014/09/08 职场文书
幼儿园教师师德师风演讲稿:爱我所爱 无悔青春
2014/09/10 职场文书
一年级语文上册复习计划
2015/01/17 职场文书
党支部审查意见
2015/06/02 职场文书
认识实习感想
2015/08/10 职场文书
纯CSS实现酷炫的霓虹灯效果
2021/04/13 HTML / CSS