python 中的列表(四)

目录

sort() 方法

sorted() 函数


在购物的时候,不知道你们有没有做过这种事,就是会进行价格比较,让价格从高到底进行排序,或者从低到高进行排序,那这种操作如果用 Python 中的列表可不可以模拟呢,今天我们就来说两个对 Python 列表进行排序的方法。

 

sort() 方法

sort() 方法可以对原列表中的元素进行排序,也就是说是对原列表进行直接操作,无论升序还是降序实际操作的都是原列表,比如对班级成绩进行排序

'''
语法:
listname:表示要进排序的列表
key:表示指定一个从每个列表元素中提取一个用于比较的键(例如,设置"key=str.lower"表示在排序时不区分字母大小写)
reverse:可选参数,如果将其值指定为True,则表示降序排列,如果为False,则表示升序排列,默认为升序排列
'''
listname.sort(key=None, reverse=False)

# 成绩列表
scores = [100, 80, 90, 100, 70, 60, 50, 100]
# 升序
scores.sort()
# 升序输出
print(scores)
# 降序
scores.sort(reverse=True)
# 降序输出
print(scores)

# 运行结果
[50, 60, 70, 80, 90, 100, 100, 100]
[100, 100, 100, 90, 80, 70, 60, 50]

通过代码运行结果,我们可以看到,sort() 排序后,无论是升序还是降序,都是将原列表中的元素顺序进行了改变。sort() 方法也可以对中文内容的列表进行排序,但是对中文支持不好,所以,排序的结果与我们习惯的中文排序法不一致,因此,不建议直接使用 sort() 方法,而是建议重新编写相应的方法进行处理。

 

sorted() 函数

很多时候,我们都是希望,能在不改变原列表的元素顺序下,来进行重新排序的,因此,我们可以用 sorted() 函数来实现。

'''
语法:
iterable:表示要进排序的列表
key:表示指定一个从每个列表元素中提取一个用于比较的键(例如,设置"key=str.lower"表示在排序时不区分字母大小写)
reverse:可选参数,如果将其值指定为True,则表示降序排列,如果为False,则表示升序排列,默认为升序排列
'''
sorted(iterable, key=None, reverse=False)

# 成绩列表
scores = [100, 80, 90, 100, 70, 60, 50, 100]
# 升序
scores_as = sorted(scores)
# 升序输出
print(scores_as)
# 降序
scores_des = sorted(scores,reverse=True)
# 降序输出
print(scores_des)

# 运行结果
[50, 60, 70, 80, 90, 100, 100, 100]
[100, 100, 100, 90, 80, 70, 60, 50]

通过代码的运行结果,我们可以发现,列表对象的sort() 方法和内置 sorted() 函数的作用基本相同,所不同的就是使用 sort() 方法时,会改变原列表的元素排列顺序,而使用 sorted() 函数时,会建立一个原列表的副本,该副本为排序后的列表。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

叮小白

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

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

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

打赏作者

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

抵扣说明:

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

余额充值