#下面这方法可行 L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] def by_name(x): return x[0] def by_score(x): return x[1] L1=sorted(L,key=by_name) print(L1) L2= sorted(L,key=by_score) print(L2) print(sorted([('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)], key=lambda x : x[0])) #此条也可行 L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] def by_name(n): #但是像这种方法就不可行 for i in n: print (sorted(n,key=str(i[0]))) def by_score(n): #但是像这种方法就不可行 for i in n : print(sorted(n,key=i[1])) by_name(L) by_score(L) #所以综上所述发现key后面带的值必须要是一个函数,匿名函数也可以,但是格式化取一个数值是不可行的 #官方文档这么说sorted()也是一个高阶函数。用sorted()排序的关键在于实现一个 映射 。。函数。。。关键字是函数
今天复习py中的sorted
最新推荐文章于 2025-05-29 18:50:16 发布