是否可以编写一个"if语句";转换为python中的lambda函数?我正试图沿着这些行写一些东西,但在if语句之后我遇到了语法错误:
filt_sin = snf.generic_filter(lambda x: np.std(sin, (size, size) if x<=sin_std), sin, size=size, mode="nearest")
需要理解的是,:
右侧的单个表达式就是lambda
函数将返回的内容。如果您希望lambda在特定条件下返回None
,可以使用三元表达式,例如:
lambda x: foo(x) if x > y else None
像if: ... else: ...
和for ... in ...:
这样引入缩进块的关键字不在lambda
定义的范围内工作,但可以使用三元表达式、生成器表达式等。