第20讲:Python列表、元组、字符串使用自定义排序规则

本文介绍了Python中如何自定义排序规则,特别是针对列表、元组和字符串的情况。通过使用`str.lower`方法或`len`函数作为排序依据,可以实现基于字符小写或长度的排序。在处理字符串时,首先根据第一个字符的ordinal value值排序,如果相同则考虑第二个字符,以此类推。`str.lower`方法会使大写字母变为小写,改变排序顺序。而利用`len`函数则根据元素长度进行排序。对于元组和字符串,排序规则与列表类似。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.自定义排序方法

列表、元组、字符串都可以进行排序,列表和元组进行排序时,如果有元素是字符串时,列表、元组中的所有元素都需要用引号引起来,例如:mytuple = ("jiangxl", "11"),否则将会抛出错误,如下所示,调用sorted函数排序时,不明确要对字符串排序还是数字排序,从而就会抛出异常,如果都加上引号了,sorted函数就认为是对字符串进行排序。

image-20220804163826996

在前面我们使用的都是sorted函数默认的排序规则,在调用sorted函数时,还可以指定参数key = 函数名 或者 key = 类名.方法名指定某个函数或者是类中的方法,然后分别调用指定的函数或者方法对字符串中的所有字符、列表元组中的所有元素进行计算,然后根据函数或者方法的返回值进行排序,排序完成后再逆推出原始字符,从而实现自定义的排序规则。

如下图所示,这是字符串排序过程中,调用sorted函数时指定了key = str.lower参数,str是字符串的类,lower是str类中的函数,在类中的函数就被称为方法,调用sorted函数时指定了参数key,就相当于自定义排序方法了,根据指定的函数或者方法对字符串中的所有字符、列表元组中的所有元素进行计算,将返回的结果再进行排序,最后再根据排序的返回值逆推出原始值。

<
评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jiangxl~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值