本帖最后由 梦缠绕的时候 于 2019-1-24 10:35 编辑
sorted 排序函数
sorted()也是一个高阶函数。用sorted()排序的关键在于实现一个映射函数。
作业1:
假设我们用一组tuple表示学生名字和成绩:
L = [(‘Bob’, 75), (‘Adam’, 92), (‘Bart’, 66), (‘Lisa’, 88)]
方法1:
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
def sort_byname(n):
return n[1]
L1 = sorted(L , key = sort_byname, reverse = True)
L1
Out:
[('Adam', 92), ('Lisa', 88), ('Bob', 75), ('Bart', 66)]
方法2:
def by_name(t):
return t[0].lower()
L=[('Dob',75),('Adam',92),('Bart',66),('Cisa',88)]
L1=sorted(L,key=by_name)
print(L1)
Out:
[('Adam', 92), ('Bart', 66), ('Cisa', 88), ('Dob', 75)]
|
|