[Python]sorted()函数与list.sort()函数

阿里云百炼接入本地Claude,接入idea 阿里云百炼平台提供两种接入方式:未购买套餐时使用通用API Key(sk-xxxxx),需注意免费额度独立计算且不会自动切换模型;购买Coding Plan套餐后使用专属API Key(sk-sp-xxxxx),享受固定月费无超支风险。配置需在.claude/settings.json中设置认证信息,包括API Key和Base URL。建议开启"用完即停"功能避免意外扣费,不同模型的免费额度互不影响。购买套餐后还可通过IDEA插件Claude Code进行集成,实现固定费用下的稳定使用 阅读详情

     将一个列表进行升序排序可以简单的调用sorted()函数:

>>> a = [random.randint(1,21) for i in range(20)]
>>> a
[15, 10, 10, 18, 13, 8, 4, 9, 20, 9, 15, 15, 19, 15, 11, 5, 18, 19, 6, 1]
>>> sorted(a)
[1, 4, 5, 6, 8, 9, 9, 10, 10, 11, 13, 15, 15, 15, 15, 18, 18, 19, 19, 20]
>>> a
[15, 10, 10, 18, 13, 8, 4, 9, 20, 9, 15, 15, 19, 15, 11, 5, 18, 19, 6, 1]
或者可以调用列表的list.sort()方法,它对列表进行原地排序并且返回None。

>>> a.sort()
>>> a
[1, 4, 5, 6, 8, 9, 9, 10, 10, 11, 13, 15, 15, 15, 15, 18, 18, 19, 19, 20]
有一点不同的是list.sort()是为list定义的,而sorted()可以接受任意可迭代类型的对象。

>>> sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})
[1, 2, 3, 4, 5]
自2.4版本以后,list.sort()和sorted()函数都增加了key参数,参数指明在应用comparisons之前对列表中的每个元素都调用一个函数进行预处理:

>>> sorted("This is a test string from Andrew".split(), key=str.lower)
['a', 'Andrew', 'from', 'is', 'string', 'test', 'This']
key参数指明的函数有一个单一的传入参数,并且返回一个用以排序的键:

student_tuples = [
        ('john', 'A', 15),
        ('jane', 'B', 12),
        ('dave', 'B', 10),]
print sorted(student_tuples, key=lambda student: student[2])   # sort by age
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
同样的策略可以应用在类对象上,例:

class Student:
        def __init__(self, name, grade, age):
                self.name = name
                self.grade = grade
                self.age = age
        def __repr__(self):
                return repr((self.name, self.grade, self.age))
student_objects = [
        Student('john', 'A', 15),
        Student('jane', 'B', 12),
        Student('dave', 'B', 10),
]
print sorted(student_objects, key=lambda student: student.age)   # sort by age
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
应用operator模块中的itemgetter,attrgetter以及methodcaller函数可以是上述操作更加简单快捷:

from operator import itemgetter, attrgetter

print sorted(student_tuples, key=itemgetter(2))

print sorted(student_objects, key=attrgetter('age'))
operator模块中的函数可以实现多维度混合排序(多个关键字作为排序键值),例如:

print sorted(student_tuples, key=itemgetter(1,2))

print sorted(student_objects, key=attrgetter('grade', 'age'))
list.sort()和sort()函数接收一个reverse参数(布尔值),这个参数用以标示降序排序,例如:

print sorted(student_tuples, key=itemgetter(2), reverse=True)
[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

自版本2.2开始,Python排序都会保证其稳定性,例如:

data = [('red', 1), ('blue', 1), ('red', 2), ('blue', 2)]
print sorted(data,key = itemgetter(0))
#[('blue', 1), ('blue', 2), ('red', 1), ('red', 2)]
在python2.x版本中,sorted()和list.sort()都支持cmp参数来处理用户自定义的比较函数。Python3.0中,cmp参数被完全废止。旧式的cmp参数用法:

def numeric_compare(x, y):
        return x - y
print sorted([5, 2, 4, 1, 3], cmp=numeric_compare)
#[1, 2, 3, 4, 5]

def reverse_numeric(x, y):
        return y - x
print sorted([5, 2, 4, 1, 3], cmp=reverse_numeric)
#[5, 4, 3, 2, 1]

REF:https://wiki.python.org/moin/HowTo/Sorting/









编程实践:寒武纪-LLM&VLM模型量化&部署 本文介绍了在MLU370-S4平台上对大模型(LLM/VLM)进行量化的两种方法:SmoothQuant和WeightOnly。以Qwen2-VL-2B模型为例,详细说明了两种量化方式的命令行参数配置,包括必须设置的per_channel选项和量化参数调整建议。量化完成后,提供了模型部署的具体命令示例,包含设备分配、端口设置、并行度等关键参数。文章强调在MLU370芯片上需要手动设置block_size,并指出两种量化方式只能二选一使用。配套资料已上传至百度网盘供参考。 阅读详情

相关推荐

Zemax序列模式下激光二极管(LD)光源建模与像散校正实战

本文详细讲解了在Zemax序列模式下精确建立激光二极管(LD)光源模型并校正其像散的核心方法。通过将椭圆光束的发散角转换为渐晕系数,并巧妙利用理想柱面镜模拟像散,实现了对LD光源特性的高精度模拟。该方法特别适用于激光耦合、激光雷达等需要对像散光束进行精密控制的光学系统设计。

weixin_28455801的博客 437

python的sort()函数用法详解

list.sort(cmp=None, key=None, reverse=False)

Talk is cheap, show me the code! 2万+

一种导弹追踪算法的MATLAB仿真实现

以下是一个用于模拟机动变轨导弹和防空导弹追踪过程的 MATLAB 代码,同时会提供 3D 效果展示。你可以运行这段代码,从而观察机动变轨导弹和防空导弹的速度与位置变化。

SmartGridequation的博客 933

Python之sort函数

描述:sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。 语法: list.sort( key=None, reverse=False) key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。 reverse -- 排序规则,reverse = True降序,reverse = False升序(默认)。 (无返回值,只会对列表进行排序) 实例: #!/usr/bin/pyt...

一只不想做程序员的程序猿的日常摸鱼分享 3万+

用Stata复现经典文献:上市公司全要素生产率(TFP)计算全流程(含LP/OP代码解读)

本文提供了使用Stata软件复现上市公司全要素生产率(TFP)计算的完整实战指南。重点解读了主流的Levinsohn-Petrin(LP)和Olley-Pakes(OP)半参数估计方法,通过详细的数据清洗、变量构建与价格平减步骤,手把手演示了如何准确测算TFP,并强调了LP方法在处理中国上市公司数据时的稳定性和适用性。

b0c1d2的博客 593

从零到英雄:WSL2与Ubuntu22.04的终极性能调优指南

本文详细介绍了如何在Windows系统中通过WSL2与Ubuntu22.04进行性能调优,涵盖内核定制、GPU加速、网络优化等关键技巧,帮助开发者打造媲美原生Linux的高性能开发环境,特别适合AI训练和大数据处理等资源密集型任务。

weixin_29218509的博客 523

在Python中如何使用sorted()和sort()函数

在某种程度上,所有的程序员都必须编写代码对项目或数据进行排序。在应用程序当中,排序对于用户体验而言是非常重要的,无论是按时间戳对用户最近的活动进行排序,还是按照姓氏的字母顺序排列电子邮件收件人列表。Python的排序功能十分强大,可以在粒度级别上进行基本排序或自定义排序。 在本教程中,你将会学习如何在不同的数据结构中对各种各样的数据类型进行排序和自定义排序,并使用Python中两种不同的排序方法...

java276582434的博客 6万+

PotPlayer终极画质调校:深入MadVR渲染器设置,让你的显示器发挥100%潜力

本文深入探讨了如何通过MadVR渲染器优化PotPlayer的画质设置,充分发挥高端显卡和显示器的潜力。从色彩空间匹配、色深优化到HDR元数据处理,提供了一套完整的配置指南,帮助用户实现影院级视觉体验。特别适合拥有NVIDIA RTX或AMD RX系列显卡的用户进行精细调校。

weixin_42530458的博客 599

Python list sort方法:列表排序

Python 列表排序方法 sort的介绍、使用和注意事项。

TCatTime的博客 4万+

科研绘图系列:基因突变瀑布图统计以及可视化

科研绘图系列:基因突变瀑布图统计以及可视化

专注生信领域 1653

后仿真中《SDF反标必懂连载篇》之 <INTERCONNECT/IOPATH> 到底反标电路路径是哪里

对于SDF INTERCONNECT ENTRY 描述,我们在之前的文章有详解。读万卷书,行万里路。实践很重要。今天,搞一下SDF INTERCONNECT / IOPATH 延迟数据信息,究竟反标的是哪一路径延时?究竟在电路上一段段如何表现出延迟现象的呢?

那么菜的博客 2131

python的sort函数

一、基本形式有两种形式:(1)iterable.sort(cmp=None, key=None, reverse=False) #python 2.xiterable.sort(key=None, reverse=False) #python 3.x(2)sorted(iterable, cmp=None, key=None, reverse=False)        #python ...

guobingjie123的博客 2万+

9、工业数据管理:Historian、ERP、MES与资产模型解析

本文深入解析了工业数据管理中的核心概念与技术,包括Historian数据库、ERP和MES系统以及资产模型。文章详细介绍了Historian数据库的特性、架构分类、数据采集方式及时间序列处理能力,同时探讨了ERP和MES系统的功能与优势,特别是MES在生产执行中的重要作用。资产模型部分结合ISA-95和ISA-88标准,阐述了工业资产的层次化建模方法。此外,文章还分析了各系统之间的协同关系、面临的挑战及应对策略,并展望了未来工业数据管理的发展趋势,如云原生技术、人工智能融合和工业物联网的应用。

pz89012345的博客 144

说说 Python 中 list.sort()方法与函数sorted() 之间的区别

(1) list.sort() 方法 list.sort() 方法就地排序,也就是说会直接作用于当前列表,直接把当前列表变为已排序的列表。它会返回 None。在 Python 中 ,如果一个函数或者方法对对象进行的是就地改动操作,一般来说,它们会返回 None。这样做的目的是让 API 的使用者知道这个函数或者方法是就地改动操作。比如 random.shuffle 函数也有这个特性。 shuffle() 方法会将序列的所有元素进行随机排序。 有利就有弊,因为这些函数或者方法只能返回 None,所以无法

读万卷书,行万里路 1486

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

python list sort函数_说说 Python 中 list.sort()方法与函数sorted() 之间的区别

(1) list.sort() 方法list.sort() 方法就地排序,也就是说会直接作用于当前列表,直接把当前列表变为已排序的列表。它会返回 None。在 Python 中 ,如果一个函数或者方法对对象进行的是就地改动操作,一般来说,它们会返回 None。这样做的目的是让 API 的使用者知道这个函数或者方法是就地改动操作。比如 random.shuffle 函数也有这个特性。shuffle...

weixin_39646405的博客 320

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

list排序sort降序_在Python中如何使用sorted()和sort()函数(下篇)

参数key的功能非常强大,因为几乎所有函数,无论是内置函数还是用户自定义函数,都可以用来控制输出顺序。如果排序要求是按照每个字符串的最后一个字母对可迭代序列进行排序(如果最后一个字母是相同的,就使用倒数第二个字母),那么就可以定义一个函数用来排序。下面的例子定义了一个函数,其功能是反转字符串序列,然后将该函数作为参数传递给key:word[::-1]用于反转字符串。reverse_wor...

weixin_39562185的博客 2970

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

pythonlistsort函数_[Python]sorted()函数与list.sort()函数

将一个列表进行升序排序可以简单的调用sorted()函数:>>> a = [random.randint(1,21) for i in range(20)]>>> a[15, 10, 10, 18, 13, 8, 4, 9, 20, 9, 15, 15, 19, 15, 11, 5, 18, 19, 6, 1]>>> sorted(a)[1, ...

weixin_36300623的博客 293

【冰糖Python】python 内置函数 sorted() 和 list.sort()

list.sort() 和 sorted() 可用于实现一般排序功能 (2)sorted() sorted() 是 python 的内置函数,可对多种可迭代对象进行排序,该方法返回一个排序后的 list sorted(iter, key=None, reverse=False) iter 为任意可迭代的对象,如 list,tuple,dict 等 key 默认 None,可用于指定在进行比较前要在每个元素上调用的函数 reverse 默认 False,即升序排序,为 True 时表示降序排序

冰糖的小屋 222

Python3内置函数sorted()与list的方法.sort()

sorted() 是Python3的内置函数,它可以对所有可迭代的对象进行排序操作,并且不改变原对象的值,返回一个新的排序后的列表。 基础语法:sorted(iterable, key=None[, reverse=False] 其中key可以为lambda函数,如果想实现由大到小排序,可以令key值为负。也可以通过传入第三个参数 reverse=True来实现反向排序。 下面举几个例子来描述sorted()的排序逻辑 a = [(2, 1), (2,0),(1, 1), (1, 2), (1,

qq_41523462的博客 495

python list中的 sort()函数 和 sorted()函数

list.sort(cmp=None, key=None, reverse=False) 1.cmp – 可选参数, 如果指定了该参数会使用该参数的方法进行排序。 2.key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。 3.reverse – 排序规则,reverse = True 降序, reverse = Fal...

duanbin的博客 233

python3内置函数sorted和list.sort()的对比与使用

参考资料: list.sort() sorted() sortinghowtodo sorted(iterable, *, key=None, reverse=False) python3中移除了cmp 参数说明: iterable:迭代器,可迭代的元素 key:主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。默认为空,可...

wwt的博客 553

python list.sort()方法和内置函数sorted

.sort()方法 list.sort是就地将该列表进行排序,也就是说不会把原列表复制一份。这也是这个方法返回none的原因,提醒你本方法不会新建一个列表。就在这种情况下返回none是python的一个惯例:如果一个函数或者方法对对象进行的是就地改动,那他就应该返回none,好让调用者知道传入参数发生了变动,并且没有产生新的对象。例如random,shuffle这些函数也遵守了这个惯例。 import random list = [20, 16, 10, 5] random.shuffle(list) p

weixin_43178103的博客 489

Python内置函数sorted()以及list.sort()

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34342207的博客 181

Python sorted() 函数 和 sort() 函数

本文对比sorted()函数和list.sort()函数的语法和用法。 sorted()函数对所有可迭代的对象进行排序,返回迭代对象中元素重新排序后组成的新list列表。 sorted()排序不改变原始结构,临时排序。 sorted函数语法: sorted(iterable,*,key=None,reverse=False) sorted函数有两个命名关键字参数key和rever...

DREAM BIGGER 288

Python教程:list.sort()和函数sorted(list)

list.sort()和函数sorted(list)

Python热爱者的博客 5407

Python中sorted()函数和list的sort函数

基本形式: sorted(iterable, cmp, key, reverse]) iterable.sort(cmp, key, reverse) 说明: 默认是升序排序,即从小到大。 sort会直接改变list本身,sorted是产生一个排序后的副本不改变原来的list。 基本用法: x =[4, 6, 2, 1, 7, 9] y=sorted(x) print(x)#[4, 6...

ACM_hades的博客 585
上一篇: [Python]偏函数应用
下一篇: [Python]打印九九乘法表
Scandinavians
博客等级 码龄19年 36粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值