sort,sorted排序 key=str.lower,key = len
names = ["Tom Cat", "Jerry Mouse", "Thomas Basper", "Gerald Din"]
res = sorted(names, key=len) # 按照名字长度排序 ['Tom Cat', 'Gerald Jin', 'Jerry Mouse', 'Thomas Jasper']
res = sorted(names, key=lambda name: name.split()[-1]) # 按照famliy name 排序 ['Thomas Basper', 'Tom Cat', 'Gerald Din', 'Jerry Mouse']
res = sorted(names, key=lambda name: name[-1]) # 按照名字最后一个字排序 ['Jerry Mouse', 'Gerald Din', 'Thomas Basper', 'Tom Cat']
res = sorted(names, key=lambda n:len(n.split()[0])) # 按照 Given name 长度排序 ['Tom Cat', 'Jerry Mouse', 'Thomas Basper', 'Gerald Din']
res = sorted(names, key=str.lower)
print(res)
'''
str.lower(x)返回字符串str的副本,全部字符小写
str.split(sep=None)返回一个列表,由str根据sep被分割的部分构成“a,b,c”.split(“,”)结果为['a', 'b', 'c']
为sorted 传参数key , 函数中传函数的语法,一般都是回调函数的语法。
传给key的应该是一个接受列表元素作为输入的函数,对于每一个列表元素,都调用该函数,函数的返回值作为排序依据
'''
传给key的应该是一个接受列表元素作为输入的函数,对于每一个列表元素,都调用该函数,函数的返回值作为排序依据
sorted函数是高阶函数
在sort()可以接收一个关键字参数,key
key需要一个函数作为参数, 当设置了函数作为参数
每次都会以列表中的一个元素作为参数来调用函数,并且使用函数的返回值来比较元素的大小

浙公网安备 33010602011771号