Python sorted() 函数和sort()函数对比分析
Python sorted() 函数
一、概述
sorted()函数是对所有可迭代的对象进行排序操作。
sort与sorted的区别:
sort是应用在list上的方法,sorted可以对所有可迭代的对象进行排序操作。list的sort方法返回的是对已经存在的列表进行操作,无返回值,而内置的sorted函数返回的是一个新的list,而不是在原来的基础上进行的操作。
二、语法
sorted语法:
sorted(iterable, cmp=None, Key=None, reverse=False)
参数说明:
- iterable--可迭代对象
- cmp--比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵循的规则为,大于则返回1,小于则返回-1,等于则返回0.
- key--主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse--排序规则,reverse=True降序,reverse=Fasle升序(默认)。
三、返回值
sorted()方法的返回值是升序排列后的新列表。
sort()方法无返回值,但是使用sort()方法之后,排序后的列表会覆盖原来的列表。
四、示例
4.1 sorted函数示例代码:
a = [5, 7, 6, 3, 4, 1, 2]
b = sorted(a) # 保留原列表
print(a) # [5, 7, 6, 3, 4, 1, 2]
print(b) # [1, 2, 3, 4, 5, 6, 7]
L = [('b', 2), ('a', 1), ('c', 3), ('d', 4)]
L1 = sorted(L, key=lambda x: x[1]) # 利用key
print(L) # [('b', 2), ('a', 1), ('c', 3), ('d', 4)]
print(L1) # [('a', 1), ('b', 2), ('c', 3), ('d', 4)]
students = [('tom', 'A', 16), ('jack', 'B', 12), ('bob', 'A', 19)]
students_desc = sorted(students, key=lambda age: age[2], reverse=True) # 按年龄降序排列,默认reverse是False
print(students) # [('tom', 'A', 16), ('jack', 'B', 12), ('bob', 'A', 19)]
print(students_desc) # [('bob', 'A', 19), ('tom', 'A', 16), ('jack', 'B', 12)]
4.2 sort函数示例代码:
li_one = [6, 3, 4, 1]
li_two = [7, 3, 5, 4]
li_three = ['java', 'c', 'python']
li_one.sort()
print(li_one) # [1, 3, 4, 6]
li_two.sort(reverse=True)
print(li_two) # [7, 5, 4, 3]
li_three.sort()
print(li_three) # ['c', 'java', 'python']
students = [('tom', 'A', 16), ('jack', 'B', 12), ('bob', 'A', 19)]
students.sort(key=lambda age: age[2])
print(students) # [('jack', 'B', 12), ('tom', 'A', 16), ('bob', 'A', 19)]
Python sorted() 函数和sort()函数对比分析的更多相关文章
- python:数组/列表(remove()函数、append()函数、sort()函数、reverse()函数)
排序: 1:整理顺序 #冒泡 lista = [5,7,11,19,99,63,3,9,1] list = [] while lista != []: number = 0 for i in list ...
- qsort函数、sort函数【转】
http://blog.163.com/yuhua_kui/blog/static/9679964420142195442766/ 先说明一下:qsort和sort,只能对连续内存的数据进行排序,像链 ...
- qsort函数、sort函数 (精心整理篇)
先说明一下qsort和sort,只能对连续内存的数据进行排序,像链表这样的结构是无法排序的. 首先说一下, qsort qsort(基本快速排序的方法,每次把数组分成两部分和中间的一个划分值,而对于有 ...
- qsort函数、sort函数
先说明一下qsort和sort,只能对连续内存的数据进行排序,像链表这样的结构是无法排序的. 首先说一下, qsort qsort(基本快速排序的方法,每次把数组分成两部分和中间的一个划分值,而对于有 ...
- qsort函数以及sort函数使用方法
sort函数的使用方法 做ACM题的时候,排序是一种常常要用到的操作. 假设每次都自己写个冒泡之类的O(n^2)排序,不但程序easy超时,并且浪费宝贵的比赛时间,还非常有可能写错. STL里面 ...
- python下使用sort()函数对目录下文件名进行多条件排序
目录 1.基础函数 2.例子解析 参考 1.基础函数 a.sort()函数 sort()函数的作用是对列表内容进行正向排序,直接在原列表进行修改,返回的是修改后的列表. lists =[1, 5, 1 ...
- python 列表排序方法sort、sorted技巧篇
Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列. 1)排序基础 简单的升序排序是非常容易的.只需要调用sorte ...
- C中的qsort函数和C++中的sort函数的理解与使用
一.qsort()函数 原型:_CRTIMP void __cdecl qsort (void*, size_t, size_t,int (*)(const void*, const void*)); ...
- #C++初学记录(sort函数)
sort函数 前言:当进行贪心算法的学习时,需要用到sort函数,因为初学c++汇编语言,sort的具体用法没有深入学习,所以这里进行sort学习记录并只有基础用法并借用贪心算法题目的代码. 百度百科 ...
- 1806最大数 string和sort函数用法
1.C++自带sort函数用法 sort函数有三个参数: (1)第一个是要排序的数组的起始地址 (2)第二个是结束的地址(最后一位要排序的地址) (3)第三个参数是排序的方法,可以是从大到小也可是从小 ...
随机推荐
- 文章学习:TPRE:分布式门限代理重加密
学习文章:TPRE:分布式门限代理重加密 前言 成方金科新技术实验室与隐语团队合作,构建了"基于国密的分布式门限代理重加密算法TPRE",为用户提供了一种安全.高效.自主可控的数据 ...
- 计算机网络之MAC和IP地址
MAC地址 在局域网中,硬件地址,又称为物理地址或MAC地址. 目前现在的局域网中实际上使用的都是6字节的MAC地址,所以每一个以太网设备都具有唯一的MAC地址. MAC地址的格式 假设传输使用的是I ...
- Golang for循环遍历小坑
一.for循环 循环:让程序多次执行相同的代码块for循环是Go语言中唯一一个循环结构for循环经典语法先执行表达式1执行表达式2判断是否成立,如果成立执行循环体循环体执行完成后,执行表达式3再次执行 ...
- 2022-06-27:给出一个长度为n的01串,现在请你找到两个区间, 使得这两个区间中,1的个数相等,0的个数也相等, 这两个区间可以相交,但是不可以完全重叠,即两个区间的左右端点不可以完全一样。
2022-06-27:给出一个长度为n的01串,现在请你找到两个区间, 使得这两个区间中,1的个数相等,0的个数也相等, 这两个区间可以相交,但是不可以完全重叠,即两个区间的左右端点不可以完全一样. ...
- 2021-01-30:redis中,Pipeline有什么好处?
福哥答案2021-01-30:可以将多次 IO 往返的时间缩减为一次,减少多次IO延迟的开销.前提是 pipeline 执行的指令之间没有因果相关性. 多个指令之间没有依赖关系,可以使用 pipeli ...
- 2021-08-04:给定一个字符串str,当然可以生成很多子序列。返回有多少个子序列是回文子序列,空序列不算回文。比如,str = “aba”,回文子序列:{a}、{a}、 {a,a}、 {b}、{
2021-08-04:给定一个字符串str,当然可以生成很多子序列.返回有多少个子序列是回文子序列,空序列不算回文.比如,str = "aba",回文子序列:{a}.{a}. {a ...
- Maven安装、阿里云镜像配置、Idea中创建Maven项目、Tomcat的部署
我为什么要学这个技术? 为了更快创建web开发项目和jar包 在javaweb开发中,需要使用大量的jar包,我们手动去导入: 如何能够让一个东西自动帮我导入和配置这个jar包 因此,Maven诞生了 ...
- pupstudy的使用
打开环境 点击管理--打开根目录 把靶场放在www文件夹里 网页打开127.0.0.1/靶场文件名即可
- 1.1. Java简介与安装
Java简介 Java是一种广泛使用的计算机编程语言,由James Gosling和他的团队在Sun Microsystems公司开发,于1995年首次发布.Java的设计理念是"一次编写, ...
- SQL生成序号的四种方式
排名函数是SQL SERVER2005新增的函数.排名函数总共有四种,分别是:row_number.rank. dense_rank .ntile. row_number:顺序生成序号. rank:相 ...