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 相关文章推荐
pyqt4教程之实现半透明的天气预报界面示例
Mar 02 Python
Python正则表达式的使用范例详解
Aug 08 Python
Python3实现带附件的定时发送邮件功能
Dec 22 Python
Python将图片转换为字符画的方法
Jun 16 Python
对numpy中数组转置的求解以及向量内积计算方法
Oct 31 Python
浅谈Pycharm中的Python Console与Terminal
Jan 17 Python
python制作抖音代码舞
Apr 07 Python
详解Python 解压缩文件
Apr 09 Python
Python 私有化操作实例分析
Nov 21 Python
python json 递归打印所有json子节点信息的例子
Feb 27 Python
解决Python中报错TypeError: must be str, not bytes问题
Apr 07 Python
Python自动登录QQ的实现示例
Aug 28 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遍历文件夹下的所有文件和子文件夹示例
2014/03/20 PHP
PHP Reflection API详解
2015/05/12 PHP
PHP类相关知识点实例总结
2016/09/28 PHP
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
javascript制作loading动画效果 loading效果
2014/01/14 Javascript
jquery实现预览提交的表单代码分享
2014/05/21 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
Javascript 高阶函数使用介绍
2015/06/15 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
js时间戳与日期格式之间相互转换
2017/12/11 Javascript
详解在React里使用"Vuex"
2018/04/02 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
Angular5中提取公共组件之radio list的实例代码
2018/07/10 Javascript
JavaScript中发出HTTP请求最常用的方法
2018/07/12 Javascript
vue 基于element-ui 分页组件封装的实例代码
2018/12/10 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
Python yield 使用方法浅析
2017/05/20 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
2019/01/05 Python
Python日志无延迟实时写入的示例
2019/07/11 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
python+opencv实现车牌定位功能(实例代码)
2019/12/24 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
AE美国鹰日本官方网站: American Eagle Outfitters
2016/12/10 全球购物
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
搬家公司的创业计划书
2014/01/01 职场文书
英文留学推荐信范文
2014/01/25 职场文书
群教个人对照检查材料
2014/08/20 职场文书
婚礼领导致辞大全
2015/07/28 职场文书
解析原生JS getComputedStyle
2021/05/25 Javascript