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 :三个列出的列宽格式

识别白色图像上的线条/点,丢弃图案

Pandas - 添加新列 - 使用循环

绘制两个重叠的漏斗:代码不起作用

对流水线中的同一个估计器使用不同的特征

如何根据 Pandas 中的索引级别设置行值?

Python计算目录及其所有子目录中的文件

使用 python 将 messagePack 解析为 Json

Visual Studio Code 在“窗口没有响应”之后冻结

如何加快 aiohttp 解析器 bs4?

删除满足条件的列表中的列表

将 pandasql 输出分配给 DataFrame 中的新列

Groupby 多列和 Sum - 使用添加的 If 条件创建新列

正则表达式匹配字符串中的多个数字

基于布尔值 pandas df 的高亮元素

正则表达式.获取两个括号之间的字符串(python)

如何使用 sys.argv 将字符串变量从 shell 脚本传递给 python?

从嵌套 for 循环到字典理解?

如何将空格替换为字符串中的随机数

pandas 通过多个动态列旋转 DataFrame