【廖雪峰】函数式编程-sorted

sorted

Python内置的sorted()函数可以对list进行排序:

L = [4,53,-5,6,-75,87,-34,2]
L2 = sorted(L)#从小到大排序
L3 = sorted(L,reverse=True)#逆序
L4 = sorted(L,key=abs,reverse=True)#按绝对值逆序排序
print(L2,L3,L4)

key用于接收一个函数,这个函数作用于原序列的每一个元素,得到一个原序列的映射序列。
按照映射序列进行排序之后,再映射回原序列。
★key接收的函数的return值,即为原序列元素的映射。

L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]

def by_name(t):#根据姓名排序
    return t[0].lower()
L2 = sorted(L, key=by_name)
print(L2)

def by_score(t):#根据分数排序
    return t[1]
L2 = sorted(L, key=by_score,reverse=True)
print(L2)

猜你喜欢

转载自blog.csdn.net/weixin_41687289/article/details/81835868