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的应该是一个接受列表元素作为输入的函数,对于每一个列表元素,都调用该函数,函数的返回值作为排序依据
标签:sort,lower,key,res,names,str,sorted,排序 From: https://www.cnblogs.com/sangern/p/17413526.html