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获得时间的实例说明
Mar 25 Python
python使用新浪微博api上传图片到微博示例
Jan 10 Python
在Python中使用PIL模块对图片进行高斯模糊处理的教程
May 05 Python
Python中使用ElementTree解析XML示例
Jun 02 Python
浅谈机器学习需要的了解的十大算法
Dec 15 Python
5个很好的Python面试题问题答案及分析
Jan 19 Python
Python之列表的插入&替换修改方法
Jun 28 Python
Python中函数的基本定义与调用及内置函数详解
May 13 Python
python的faker库用法
Nov 28 Python
Pandas中两个dataframe的交集和差集的示例代码
Dec 13 Python
基于Python实现的购物商城管理系统
Apr 27 Python
Python超简单容易上手的画图工具库推荐
May 10 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中MD5函数使用实例代码
2008/06/07 PHP
用PHP调用Oracle存储过程的方法
2008/09/12 PHP
详解yii2实现分库分表的方案与思路
2017/02/03 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
PHP const定义常量及global定义全局常量实例解析
2020/05/28 PHP
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
jQuery grep()方法详解及实例代码
2016/10/30 Javascript
深入浅析Vue组件开发
2016/11/25 Javascript
js从输入框读取内容,比较两个数字的大小方法
2017/03/13 Javascript
vue之数据交互实例代码
2017/06/20 Javascript
如何使用vuex实现兄弟组件通信
2018/11/02 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
Python中用startswith()函数判断字符串开头的教程
2015/04/07 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
2019/08/13 Python
python实现xml转json文件的示例代码
2020/12/30 Python
浅谈Selenium+Webdriver 常用的元素定位方式
2021/01/13 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
H5最强接口之canvas实现动态图形功能
2019/05/31 HTML / CSS
Sasa莎莎海外旗舰店:香港莎莎美妆平台
2018/03/21 全球购物
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
简短大学毕业感言
2014/01/18 职场文书
个人求职信范例
2014/01/29 职场文书
大学同学十年聚会感言
2014/02/21 职场文书
个人公开承诺书
2014/03/28 职场文书
投标服务承诺书
2014/05/28 职场文书
2014离婚协议书范文
2014/09/10 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
新员工实习期个人工作总结
2015/10/15 职场文书
心得体会该怎么写呢?
2019/06/27 职场文书
pytorch交叉熵损失函数的weight参数的使用
2021/05/24 Python
MySQL数据管理操作示例讲解
2022/12/24 MySQL