匿名函数表达式:lambda表达式
作用:创建一个匿名函数对象。同def类似,但不提供函数名
语法:lambda [形参1,形参2,...]:表达式
示例:def myadd(x,y):
return x+y
myadd = lambda x,y:x+y
附加:只含有一条语句的函数,可以改写成lambda表达式。表达式返回值就是函数返回值。
差别:lambda表达式可以随时创建,随时销毁
说明:lambda 只是一个表达式,它用来创建一个函数对象
lambda 表达式调用时,先执行冒号后的表达式,并返回表达式的结果的引用
lambda 表达式创建的函数只能包含一条表达式
lambda 比函数简单,且可以随时创建和销毁,有利于减少程序的偶合度
高阶函数:sorted()函数
作用:将原可迭代对象的数据进行排序,生成排序后的列表
格式:sorted(iterable,key = None,reverse = False)
参数说明:iterable 可迭代对象
key 绑定函数,此函数用来提供一个排序的依据
reverse 标志用来设置是否降序排序(从大到小)。默认是False,从小到大。
strData1 = "l am 26 year old"
strData2 = filter(str.isdigit, strData1)
print strData2 # 结果:26
# filter函数:
# 格式:(fun, iterable)
# 作用:筛选可迭代对象iterable中的数据,返回一个可迭代对象,此可迭代对象将对iterable进行筛选。
# 注解:函数fun将对iterable中的每个元素进行求值,返回False时将此数据丢弃,返回True,则保留此数据。
# 附加:对数据进行筛选,正确的保留,错误的丢掉。
# 示例:isodd函数判断x是否为奇数,是奇数返回True。