python 记_匿名函数

来源:互联网 发布:传奇技能外观算法 编辑:程序博客网 时间:2024/06/03 18:59

python 匿名函数 map(lambda x:x*x,[1,2,3,4])等同于def f(x):return x*x;map(f,[1,2,3,4])
关键字lambda表示匿名函数 冒号前面的x表示函数参数 匿名函数有个限制 只能有一个表达式 不写return 返回值就是该表达式的结果
sorted()函数是按升序还是降序排序?或者随机?cmp(x,y)这是一个比较函数 返回值为0,1,-1如果x < y ,返回负数;x == y, 返回0;x > y,返回正数
返回函数的时候也可以返回匿名函数 myabs=lambda x:-x if x<0 else x;myabs(1) 打印结果为1 匿名函数也是一个函数对象

python内置函数strip()
和map()类似,filter()也接收一个函数和一个序列。和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。
例如,在一个list中,删掉偶数,只保留奇数,可以这么写:
def is_odd(n):
return n % 2 == 1

filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])
结果: [1, 5, 9, 15]
def empty(s):
return s and len(s.strip())>0
filter(empty,[‘t’,”,none,’a’])
简写成print filter(lambda s:s and len(s.strip())>0,[‘t’,”,None,’aaa’])