Python 2.6年里,我想做:

f = lambda x: if x==2 print x else raise Exception()
f(2) #should print "2"
f(3) #should throw an exception

这显然不是语法.是否可以在lambda中执行if,如果可以,如何执行?

推荐答案

您要查找的语法:

lambda x: True if x % 2 == 0 else False

但你不能在lambda中使用printraise.

Python相关问答推荐

Pandas 第二小值有条件

如何在Python中并行化以下搜索?

使用groupby Pandas的一些操作

Python,Fitting into a System of Equations

海上重叠直方图

driver. find_element无法通过class_name找到元素'""

连接一个rabrame和另一个1d rabrame不是问题,但当使用[...]'运算符会产生不同的结果

为什么常规操作不以其就地对应操作为基础?

为什么'if x is None:pass'比'x is None'单独使用更快?

在二维NumPy数组中,如何 Select 内部数组的第一个和第二个元素?这可以通过索引来实现吗?

在用于Python的Bokeh包中设置按钮的样式

判断Python操作:如何从字面上得到所有decorator ?

递归函数修饰器

使用类型提示进行类型转换

为什么我只用exec()函数运行了一次文件,而Python却运行了两次?

在matplotlib中重叠极 map 以创建径向龙卷风图

我如何为测试函数的参数化提供fixture 生成的数据?如果我可以的话,还有其他 Select 吗?

如何在Polars中处理用户自定义函数的多行结果?

如何将ManyToManyfield用于Self类

根据两个lambda条件筛选组并根据条件创建新列的最佳方式是什么?