广告
返回顶部
首页 > 资讯 > 后端开发 > Python >sort()与sorted()的区别
  • 736
分享到

sort()与sorted()的区别

区别sortsorted 2023-01-30 22:01:14 736人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

1,sort(cmp = None ,key = None, reverse = False),没有返回值,函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。会修改list本身,不会返回新list。 cmp:可选参数,

1,sort(cmp = None ,key = None, reverse = False),没有返回值,函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。会修改list本身,不会返回新list。

cmp:可选参数, 如果指定了该参数会使用该参数的方法进行排序。

key:可选参数,主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。

reverse:排序规则,reverse = True 降序, reverse = False 升序(默认)。

注意:sort()不能对dict字典进行排序

2, sorted(cmp = None ,key = None, reverse = False),有返回值,

cmp:可选参数, 如果指定了该参数会使用该参数的方法进行排序。

key:可选参数,参数的值为一个函数,此函数只有一个参数且返回一个值用来进行比较。这个技术是快速的因为key指定的函数将准确地对每个元素调用。

reverse:排序规则,reverse = True 降序, reverse = False 升序(默认)。

例子:

1.对dict排序默认会按照dict的key值进行排序,最后返回的结果是一个对key值排序好的list。

my_dict = {"a":"1", "c":"3", "b":"2"}
result = sorted(my_dict)
print result

#输出: ['a', 'b', 'c']

2.对复杂的元组排序

复制代码
student_tuples = [
        ('john', 'A', 15),
        ('jane', 'B', 12),
        ('dave', 'B', 10),
]
result = sorted(student_tuples, key=lambda student: student[2])
print result

#输出 [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

以上可以看出排序是按照10, 12, 15值进行排序的,因为函数lambda student:student[2]返回的值分别是10, 12, 15。

所以就用函数返回的值进行比较;key=15 ,key=12,key=10根据这些返回值进行比较;

lambda student:student[2] 等价于

def f(student):

    return student[2]

3.根据字典的value排序

默认sorted是对dict的key排序的,如果要根据dict的value排序就需要指定key参数了

复制代码
my_dict = {"a":"2", "c":"5", "b":"1"}

result = sorted(my_dict)
print result
#默认对dict排序,不指定key参数,会默认对dict的key值进行比较排序
#result输出: ['a', 'b', 'c']

result2 = sorted(my_dict, key=lambda x:my_dict[x])
print result2
#指定key参数,根据dict的value排序
#result2输出:['b', 'a', 'c']
复制代码

sorted()的reverse参数接受False 或者True 表示是否逆序

sorted()还有的参数例如cmp参数这里就不做多介绍了。

--结束END--

本文标题: sort()与sorted()的区别

本文链接: https://www.lsjlt.com/news/179736.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • sort()与sorted()的区别
    1,sort(cmp = None ,key = None, reverse = False),没有返回值,函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。会修改list本身,不会返回新list。 cmp:可选参数,...
    99+
    2023-01-30
    区别 sort sorted
  • Python中sort()和sorted()的区别
    一、使用对象不同 sort()是列表对象的方法,只能用于列表的排序。而sorted()是Python的内建函数,可以对任何可迭代对象进行排序,包括列表、元组、字典等。 二、排序方式不同 sort()方法默认是在原列表上进行...
    99+
    2023-10-29
    区别 Python sort
  • 详解Python中sorted()和sort()的使用与区别
    目录sort()方法是什么如何妙用sorted() 方法总结在 Python 中,你可以使用 sorted() 方法或 sort() 方法对数据进行排序。 在本文中,我将提供 sor...
    99+
    2022-11-13
  • python中的 sorted()函数和sort()方法区别
    目录1.sort()2.sorted()3.sorted()操作列表4.sorted()排序字典①参数key:使用lambda定义②参数key:使用itemgetter直接生成1.s...
    99+
    2022-11-13
  • python列表排序用 sort()和sorted()的区别
    目录1. 是否改变原列表2.参数设置:key 和 reverse3.输入数据类型前言: 内容提要:本文比较了 Python 中用于列表排序的两种函数 sort() 和 sorted(...
    99+
    2022-11-13
  • python中sort()和sorted()的区别及用法实例
    目录一、二、python中输入字符串转列表的注意问题总结本文主要讲sort与sorted的主要区别,以便正确使用 一、 sort()只能用于列表;sorted()可以用于所有可迭代对...
    99+
    2022-11-11
  • python的sort、sorted和argsort怎么使用
    本文小编为大家详细介绍“python的sort、sorted和argsort怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“python的sort、sorted和argsort怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢...
    99+
    2023-06-29
  • python中的sorted()函数和sort()方法怎么用
    这篇文章主要讲解了“python中的sorted()函数和sort()方法怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中的sorted()函数和sort()方法怎么用”吧...
    99+
    2023-06-29
  • C++中sort()函数和priority_queue容器的区别是什么
    这篇文章主要介绍“C++中sort()函数和priority_queue容器的区别是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++中sort()函数和priority_queue容器的区别...
    99+
    2023-07-05
  • jsp与js与jquery的区别
    jsp与js与jquery的区别:1、js是javascript文件的文件后缀。2、jquery 是一个函数库,是基于javascript的。3、jsp是jsp网页文件的后缀。js是javascript文件的文件后缀,其实就像文本文档a.t...
    99+
    2022-10-25
  • MySQL @与@@区别
    MySQL @与@@区别1、@xxx 是 用户自定义的变量  (User variables are written as @var_name)2、@@x xxx是 global或session变量  (@...
    99+
    2022-10-18
  • shtml与html的区别
    SHTML(Server Side HTML)与HTML(Hypertext Markup Language)的区别主要在于它们的处...
    99+
    2023-09-09
    shtml
  • dns与dhcp的区别
    1、功能不同 DNS(域名系统):DNS的主要功能是进行域名解析,将用户输入的易于理解的域名转换为计算机能够识别的IP地址。 DHCP(动态主机配置协议):DHCP的主要功能是自动为网络中的设备分配IP地址。 2、工作方式...
    99+
    2023-10-29
    区别 dns dhcp
  • leaflet与vue2leaflet的区别
    一、作用不同 leaflet是一个开源的JavaScript库,用于在网页上创建交互式的地图。它提供了一系列的地图组件,如图层、标记、弹出窗口、控件等,可以让开发者轻松地定制和扩展地图功能。leaflet支持多种地图源,如OpenStree...
    99+
    2023-10-29
    区别 leaflet vue2leaflet
  • jdk与jre的区别
    对于java初学者来说,往往不懂区分jdk和jre的区别,实际上这两个东西差别很大的,有必要了解一下:简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit ...
    99+
    2023-06-03
  • Token与session的区别
    一、什么是token? 在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思。一般作为邀请、登录系 统使用。 Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成 一个Toke n便将此T...
    99+
    2023-09-22
    服务器 运维 spring mvc
  • ext2与ext3的区别
    inux ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,每个文件...
    99+
    2023-01-31
    区别
  • java中“/”与“%”的区别
    区别:%是求模运算符,/是除运算符。%是求余运算,/是普通的除号。实例:System.out.println(3/5) = 0; System.out.println(2/5) = 0; System.out.println(4/5) ...
    99+
    2020-06-30
    java入门 java / % 区别
  • java与js的区别
    虽然JavaScript与Java有紧密的联系,但却是两个公司开发的不同的两个产品。Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet 应用程序开发;而JavaScript是Netscape公司的产品,其目的...
    99+
    2019-12-14
    java入门 java js 区别
  • OLAP与OLTP的区别
    联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则。OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLT...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作