环境:python shell 3.5.1
刚发现一些 lambda 表达式有趣的地方,不一定都对,先记录下:
>>> a=lambda x :x % 2
>>> a(1)
1
>>> a(0)
0
这是最简单不过的 lambda 表达式了,这样表示返回值是 x%2,这里如果改成 x%2 == 0 则返回的是布尔类型的值,可以配合 filter()使用。
如果我们想返回符合一定条件的,就需要这样:
>>> a=lambda x:x*5 if x%2
SyntaxError: invalid syntax
>>> a=lambda x:x*5 if x%2 else None
>>> a(10)
>>> a(9)
45
同时,你会发现if 必须和 else 一起出现,否则就会报错。