再简单的代码也要亲手敲一遍
Topic source请教一下,sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower)中key=str.lower为什么不是key=str.lower()
@LSF-1 ''' sorted是高阶函数的缘故。
abs是绝对值函数数 abs(-10) #=10 a = abs a(-10) #=10
在高阶函数内部(高阶函数的参数可以是一个变量形式的函数,且必须要有一个,才能称为高阶函数)
sorted([36, 5, -12, 9, -21], key=a) 等价于 sorted([36, 5, -12, 9, -21], key=abs)
编写高阶函数,就是让函数的参数能够接收别的函数。
'''
- 1
翁岚敏
do_sorted.py
from operator import itemgetter
L=['bob','about','Zoo','Credit']
print(sorted(L)) print(sorted(L,key=str.lower))
students =[('Bob',75),('Adam',92),('Bart',66),('Lisa',88)]
print(sorted(students, key =itemgetter(0))) print(sorted(students, key =lambda t:t[1])) print(sorted(students, key =itemgetter(1),reverse =True))
operator.itemgetter函数可以实现多维排序