python的sorted用法详解
作者:laozhang 发布时间:2022-04-09 20:21:14
标签:python,sorted
列表有自己的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为正序排列


猜你喜欢
- 本文实例讲述了php实现的三个常用加密解密功能函数。分享给大家供大家参考,具体如下:算法一://加密函数function lock_url(
- 在做Django项目的过程中, 无法进入pycharm提供的Run manager.py Task交互环境出现这种问题是因为Pycharm无
- 简介django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.csrf.CsrfViewMiddlewa
- 一、函数list(1)定义:用打开的文件作为参数,把文件内的每一行内容作为一个元素(2)格式:list(文件)(3)例子:with open
- //by zdzhuo <html> <head> <script type=
- 然而,微软sql server在处理这类索引时,有个重要的缺陷,那就是把本该编译成索引seek的操作编成了索引扫描,这可能导致严重性能下降
- 看一看自己写的类是否能符合这样的标准.要成为高手,我要走的路还很长.摘抄自《OOD 启示录》--Arthur J.Riel(1)所有数据都应
- 1、Window.onerror事件onerror事件用来协助处理页面中的JavaScript错误。当页面上出现异常时,error事件便在w
- 最近项目遇到一个坑爹的事情,一个源码必须使用PHP5.3,但是现在Ubuntu上自带的版本是5.4,降级之后会出各种奇怪的问题,最后没办法,
- 我们都知道Jupyter notebook更换主题后看着会很舒服,但是有个问题主题更换后工具栏不显示了。usename$ jt -lAvai
- 一、背景介绍3月2日凌晨,OpenAI放出了真正的ChatGPT API,不是背后的GPT-3.5大模型,是ChatGPT的本体模型!Cha
- 首先打开网站https://www.zymk.cn/1/37988.html打开开发者工具选择XHR标签页,没有找到什么再查看一下这些图片的
- 最近在做Python 的项目,特地整理了下 Python 序列的方法。序列se
- python3.7 使用pymssql往sqlserver插入数据import pymssqlconn = pymssql.connect(
- 前言本文讲诉了Vuex的安装、搭建。以及Actions、Mutations、State、Getters的使用,为什么使用mapState、m
- 利用OpenCV练习读取图片的时候,图片总是一闪而过,不利于观察,这个时候需要利用到waitKey函数。waitKey函数:用来等待按键,当
- 插入数据MySQL 表中使用 INSERT INTO SQL语句来插入数据。你可以通过 mysql> 命令提示窗口中向数据表中插入数据
- mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句,那如何打开mysql的慢查询日志记录呢?其实
- 本书状态你正在阅读的已经是本书的最终版。因此,只有当进行错误更正以及针对新版本Node.js的改动进行对应的修正时,才会进行更新。本书中的代
- 本文实例讲述了Python使用cx_Freeze库生成msi格式安装文件的方法。分享给大家供大家参考,具体如下:①.需要在目录下面创建一个文