python sorted() 函数

一、和sort()的区别

sort只能对列表进行排序,而sorted比sort更强大,他可以对所有容器进行排序

二、sorted的三个参数

iterable:集合

key:排序的参照的关键字,可是是集合里的某个属性

reverse : True 代表倒序  False代表正序

三、举个例子

moives = [
    {'name': "the dark knight", 'year': 2008, 'rating': '9'},
    {'name': "kaili blues", 'year': 2015, 'rating': '7.3'}
]

我们想把这个些电影按year倒叙排序

moives = [
    {'name': "the dark knight", 'year': 2008, 'rating': '9'},
    {'name': "kaili blues", 'year': 2015, 'rating': '7.3'}
]
sorted_movies = sorted(moives, key=lambda moive: moive["year"], reverse=True)

for sorted_movie in sorted_movies:
    print(sorted_movie)


{'name': 'kaili blues', 'year': 2015, 'rating': '7.3'}
{'name': 'the dark knight', 'year': 2008, 'rating': '9'}

让我猜猜你会懵逼在哪个地方? key=lambda moive: moive["year"] 对不

lambda  是个什么鬼

lambda表达式,就是指匿名函数

他的格式是 lambda 输入参数:输出结果

比如说

1、表达式含义
result = lambda x:x+1 #x+1就是表达式的结果
print(result(4))  #输出结果就是5

lambda x:x+1 相当于

def sum(x):

     retrun x+1

2、巩固一下

result = lambda x:True
print(result(4))  #输出结果是True

因为    :前面是传入的参数,:后面才是return的结果

那sorted的 key=lambda moive: moive["year"] 中的moive,表示集合中的每一个元素,可以叫moive,也可以叫其他的,随便起,这回是不是就懂了

key=lambda moive: moive["year"] 就是按每个元素中的 year排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值