python中的sort与sorted函数


python中的sort()与sorted()

前些日子,面试某一大厂,面试官要求我对字典进行排序。由于自身学习不足,当时很懵逼,难道字典不是无序的吗?后来面试官提示可以用sorted函数,但是自己没有见过,最终没有做出来。事后,查阅了sorted函数的用法,可以说是很简单了。接下来总结一下python中sort函数与sorted函数的用法。

sort函数
sort函数很常见,它是一种列表方法,可以对原列表进行排序,从而改变原列表中的内容。用法简单清晰,如下:
在这里插入图片描述
如果是列表嵌列表呢?可以试试
在这里插入图片描述
可见,此时是按照每个子列表中的第一个数进行升序排列。

sort函数有两个可选参数,形式为sort(key=None,reverse=False)
参数reverse: 默认为False,代表升序排列,当为True时,代表降序排列。
参数key: 可以指定按照什么来排序,如果此时对上一个例子想按照子列表中的第二个数进行排序。那么就需要引入lambda函数。如下:
在这里插入图片描述
这里key参数的值为一个函数,此函数只有一个参数且返回一个值用来进行比较。在每个元素进行比较前,都需要调用这个函数。

如果想对此列表按照第一个元素升序,第二个元素降序,那么也是有办法的。如下:
在这里插入图片描述

sorted函数
不同于sort方法,sorted()方法对所有的可迭代序列都有效。sorted()方法会返回排好序的列表副本,原列表内容不变。

在这里插入图片描述
sorted方法可以用来对字典进行排序
默认按照字典键进行排序
在这里插入图片描述
当按值排序时需要加上匿名函数
在这里插入图片描述
返回一般不再是字典,而是元组组成的列表。
同样也可以指定升序或是降序。

补充:
operator.itemgetter函数的使用
operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号。等同于用lambda函数
根据第二个域和第三个域排序:
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值