与给定投影函数等价的正确Python lambda表达式写法是什么?
问题原因与解决方法
你写的代码触发语法错误的核心原因是:Python 的 lambda 表达式仅支持包含单个表达式,无法直接使用带冒号的多行 if-else 分支语句结构。要实现和projector函数完全等价的功能,需要改用 Python 三元条件表达式的写法。
正确的lambda表达式
evens = map(lambda x: 1 if (x % 2) == 0 else 0, data)
替换后运行代码,输出结果为[0, 0, 1, 1, 0],和调用原projector函数的执行效果完全一致。
内容的提问来源于stack exchange,提问作者Display Name
相关产品推荐
相关产品推荐

