当前位置: 移动技术网 > IT编程>脚本编程>Python > 【Python实践-10】用sorted()对列表排序

【Python实践-10】用sorted()对列表排序

2019年05月08日  | 移动技术网IT编程  | 我要评论

领队英语,曼联02托迈酷客,小婚礼

 1 #按名字排序
 2 l2= [('bob', 75), ('adam', 92), ('bart', 66), ('lisa', 88)]
 3 def by_name(t):
 4     return t[0]
 5 l2=sorted(l2,key=by_name)
 6 print(l2)
 7 #再按成绩从高到低排序
 8 def by_score(t):
 9     return 100-t[1]
10 l2=sorted(l2,key=by_score)
11 print(l2)

题目:用一组tuple表示学生名字和成绩,用sorted()对上述列表分别按名字和成绩高低排序。

知识点:

1、python内置的sorted()函数可以对list进行排序,sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,key指定的函数将作用于list的每一个元素上,并根据key函数返回的结果进行排序,这里我之前不理解的一点,key函数作用于每一个元素上,根据返回的结果来排序,但排序的对象仍然是原list,key函数相当于对每一个元素作了一次自定义的背景调查。

2、默认情况下,对字符串排序,是按照ascii的大小比较的,由于'z' < 'a',大写字母z会排在小写字母a的前面。

3、要进行反向排序,不必改动key函数,可以传入第三个参数reverse=true,默认是升序(reverse=false),降序排列用(reverse=true)

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网