已有184人关注
TV_plays=sorted(TV_plays, key=lambda s: s[1], reverse=True)不太懂其中的key=lambda s: s[1]啥意思?
发表在Python图书答疑 2019-09-07 悬赏:1 学分 《零基础学Python》第4章 序列的应用 125页-125页
是否精华
版块置顶:

# 电视剧信息列表 每条信息包含收视率信息

TV_plays=[('《Give up,hold on to me》',1.4),

          ('《The private dishes of the husbands》',1.343),

          ('《My father-in-law will do martiaiarts》',0.92),

          ('《North Canton still believe in love》',0.862),

          ('《Impossible task》',0.553),

          ('《Sparrow》',0.411),

          ('《East of dream Avenue》',0.164),

          ('《Theprodigal son of the new frontier town》',0.259),

          ('《Distant distance》',0.394),

          ('《Music legend》',0.562),

          ]

# 使用内置srted方法进行降序排序

TV_plays=sorted(TV_plays, key=lambda s: s[1], reverse=True)

print('电视剧的收视率排行榜:')

# 循环输出电视剧信息

for TV_play in TV_plays:

  print(TV_play[0]+' 收视率:'+str(TV_play[1])+'%')


2019-09-07 23:15:31编辑
分享到:
精彩评论 1
andy
学分:2118 LV10
TA的每日心情
继续努力
2017-02-06 23:42:34
2019-09-09
沙发
sorted(iterable[,key][,reverse])

第二个参数key表示根据什么排序。

lambda实际上就是匿名函数

一般形式:

lambda arguments: expression

lambdasorted()key参数结合就可以根据自己的需求进行排序了。

在这个例子中,我们要根据元组中第二个元素(收视率)进行排序,所以,为key 赋值时,使用了lambda s:s[1]。其中,这个s是lamba函数的arguments,它真正的值就是元组,而冒号后面的s[1],它就是expression.它真正的值就是元组中的第2个元素,也就是收视率。

那么整个代码连起来的意思就是"根据元组中的第二个元素进行排序"。

首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照