python的三元运算符
min2 = a if a < b else b
注:中间没有任何冒号,逗号。
下面是一个例子:比较2个数大小:
min2 = lambda a, b: a if a < b else b
11-9.
用reduce()进行函数式编程。复习11.7.2部分,阐述如何用reduce()计算数字集合的总和。修改它并创建一个叫average()的函数来计算每个数字集合的简单的平均值。
>>>print 'average is', reduce(lambda x,y:(x+y)/2,range(6))
11-10.
用filter()进行函数式编程。在unix文件系统中,在每个文件夹或者目录中都有两个特别的文件:"."表示现在的目录,".."表示父目录。给出上面的知识,看一下os.listdir()函数的文档并描述这段代码做了什么:
files = filter(lambda x: x and x[0] != '.', os.listdir(folder))