sorted()函数和lambda函数的应用,能有效提高代码效率,但初学者容易混淆,下面对这两个函数及其应用进行分拆讲解。
一、关于函数sorted()
sorted() 函数对所有可迭代的对象进行排序操作。sorted的语法如下:
sorted(iterable, key=None, reverse=False)
参数说明:
- iterable -- 可迭代对象。
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
返回值:重新排序的列表。
二、关于函数lambda:
匿名函数lambda:是指一类无需定义标识符(函数名)的函数或子程序。lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值。
lambda匿名函数的格式:冒号前是参数,可以有多个,用逗号隔开,冒号右边的为表达式。其实lambda返回值是一个函数的地址,也就是函数对象。
需要要注意的是:lambda 函数包含的表达式只能是一个。
例如,定义一个返回数的平方的lambda:
a=lambda x:x*x
print(a(3))
那么输出值是:9
三、几个实际案例
看到几个sorted与lambda的例子,很有代表性,了解了这些,这两个函数使用就容易理解了
1. 对列表中的数字按字符串长度排序
b=sorted([13,1,237,89,100], key=lambda x: len(str(x)))
以上内容,对sorted()和llambda函数的组合应用进行了分析,希望对大家有所帮助。
参考文献:
https://www.runoob.com/python3/python3-func-sorted.html
https://www.cnblogs.com/kaishirenshi/p/8611358.html
https://www.cnblogs.com/huigebj/p/11433896.html