首页 > 编程语言 >Python sorted() 函数和sort()函数对比分析

Python sorted() 函数和sort()函数对比分析

时间:2023-07-28 15:56:33浏览次数:39  
标签:sort 函数 Python li students print sorted

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)]

标签:sort,函数,Python,li,students,print,sorted
From: https://www.cnblogs.com/codingbao/p/17587819.html

相关文章

  • Prometheus的rate函数是怎么计算的(不太靠谱)
    Prometheus的rate函数是怎么计算的(不太靠谱)前言测试的数据类型是Counter类型,其他类型没测试,好像是类型改变了,rate函数的算法也变了抓取的原始数据抓取间隔是15s开始抓取到数据的时间是2023-07-2714:14:34第二个时间是2023-07-2714:14:49(第一个时间+15s)第三个时间是2023......
  • 第一个文章!python去除行业标准信息pdf图片的水印
    在网上下得pdf 有水印正好这几天在看python  那么她来啦!!!上代码defdeal_water_mark(imagePath):count=len(os.listdir(imagePath))start_time_all=datetime.datetime.now()forfilenameinos.listdir(imagePath):start_time=datetime.datetim......
  • listagg 函数--oracle 11g release 2
    http://xpchild.blog.163.com/blog/static/10180985920108485721969/ listagg函数--oracle11grelease2      本文描述了在oracle11grelease2版本中新增的listagg函数,listagg是一个实现字符串聚合的oracle内建函数。作为一种普遍的技术,网络上也有多......
  • torch的flatten函数
    python:flatten()参数详解这篇博客主要写flatten()作用,及其参数的含义flatten()是对多维数据的降维函数。flatten(),默认缺省参数为0,也就是说flatten()和flatte(0)效果一样。python里的flatten(dim)表示,从第dim个维度开始展开,将后面的维度转化为一维.也就是说,只保留dim之前的......
  • 写一段python爬虫下载登录用户商品图片的代码
    要下载登录用户的商品图片,你需要模拟登录网站并获取登录后的会话。下面是一个示例代码,用于登录网站并下载登录用户的商品图片:importrequestsimportosfrombs4importBeautifulSoupdeflogin(username,password):login_url="https://example.com/login"sessio......
  • # mac 使用 Docker 部署Python服务和web app服务最佳实践~保姆级教程
    目录部署Python后端服务部署python服务最佳实践部署web前端应用Docker同步到另一台设备部署Python后端服务部署python服务拉取python镜像dockerpullpython:3.9.13查看镜像dockerimages运行容器dockerrun-p9000:8080-it--namepytest-v~/PycharmPr......
  • Mac+Python+youtube_dl下载国外网站视频遇到的坑以及解决方案
    一、问题描述想使用Python中的youtube_dl下载youtube的视频,源码如下:importyoutube_dllink=['https://www.youtube.com/shorts/xxx']withyoutube_dl.YoutubeDL()asydl:ydl.download(link)  但是下载的时候报错了,报错如下:  youtube_dl.utils.Download......
  • 无涯教程-jQuery - show( )方法函数
    show()方法仅显示匹配元素中的每个元素(如果隐藏)。此方法还有另一种形式,可以控制动画的速度。show()-语法selector.show();show()-示例以下是一个简单的示例,简单说明了此方法的用法-<html><head><title>ThejQueryExample</title><scripttype=......
  • 有趣的密码学之散列函数,你了解多少
    任何形式的网络服务都存在安全风险,如何将风险降到最低是互联网普遍关注的问题。通常,网络安全措施的实现方法有数据加密、数字签名、身份认证、防火墙和入侵检测等。其中数据加密是防止未经授权的用户访问敏感信息的手段,而研究数据加密的科学我们称之为密码学(Cryptography)。密码学......
  • MegEngine Python 层模块串讲(中)
    在前面的文章中,我们简单介绍了在 MegEngineimperative 中的各模块以及它们的作用。对于新用户而言可能不太了解各个模块的使用方法,对于模块的结构和原理也是一头雾水。Python 作为现在深度学习领域的主流编程语言,其相关的模块自然也是深度学习框架的重中之重。模块串讲将对 ......