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是编译运行的验证方法
Jan 30 Python
python实现简单中文词频统计示例
Nov 08 Python
分析python动态规划的递归、非递归实现
Mar 04 Python
Python3.5.3下配置opencv3.2.0的操作方法
Apr 02 Python
Python遍历numpy数组的实例
Apr 04 Python
Python Pillow Image Invert
Jan 22 Python
Python实现二叉树的常见遍历操作总结【7种方法】
Mar 06 Python
Python传递参数的多种方式(小结)
Sep 18 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
Feb 18 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
Mar 09 Python
全面介绍python中很常用的单元测试框架unitest
Dec 14 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
Jan 09 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者的疑难问答(2)
2006/10/09 PHP
php simplexmlElement操作xml的命名空间实现代码
2011/01/04 PHP
解析php curl_setopt 函数的相关应用及介绍
2013/06/17 PHP
php_screw 1.5:php加密: 安装与使用详解
2013/06/20 PHP
php中jpgraph类库的使用介绍
2013/08/08 PHP
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
php判断一个数组是否为有序的方法
2015/03/27 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
PHP中的访问修饰符简单比较
2019/02/02 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
一些有用的JavaScript和jQuery的片段分享
2011/08/23 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
2013/07/04 Javascript
jQuery满屏焦点图左右滚动特效代码分享
2015/09/07 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
Vue表单实例代码
2016/09/05 Javascript
vue.js使用v-if实现显示与隐藏功能示例
2018/07/06 Javascript
Js中使用正则表达式验证输入是否有特殊字符
2018/09/07 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
Javascript Worker子线程代码实例
2020/02/20 Javascript
玩转python爬虫之URLError异常处理
2016/02/17 Python
python加载自定义词典实例
2019/12/06 Python
Python Excel vlookup函数实现过程解析
2020/06/22 Python
css3学习心得分享
2013/08/19 HTML / CSS
英国折扣高尔夫商店:Discount Golf Store
2019/11/19 全球购物
临床护士自荐信
2014/01/31 职场文书
实习老师离校感言
2014/02/03 职场文书
个人承诺书
2014/03/26 职场文书
网吧最新创业计划书范文
2014/03/27 职场文书
小学生教师节演讲稿
2014/09/03 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书
2014银行授权委托书样本
2014/10/04 职场文书
2014年财务工作总结与计划
2014/12/08 职场文书
2015年监理个人工作总结
2015/05/23 职场文书
瞿秋白纪念馆观后感
2015/06/10 职场文书
python标准库ElementTree处理xml
2022/05/20 Python
Echarts如何重新渲染实例详解
2022/05/30 Javascript