map lambda if逗号报错,invalid syntax

  统计/机器学习 Python    浏览次数:3406        分享
0

我想把数组my_list变形,如果元素在target里,那么这个元素就被替换成0,否则就不变。

>>> my_list = [1, 2, 3, 5, 7, 3, 8, 2, 9]

>>> target = [1, 3, 8]

# 变形后应该得到 [0, 2, 0, 5, 7, 0, 0, 2, 9]

>>> a = map(lambda x: 0 if x in target, a)

在逗号报错,SyntaxError: invalid syntax


 

TheOne   2017-04-18 09:05



   1个回答 
2

这个不是map的问题,是你的lambda语句出错了。

在lambda语句中,如果使用if,那必须要给出else。

a = map(lambda x: 0 if x in target else x, a)



SofaSofa数据科学社区DS面试题库 DS面经

Nagozi   2017-04-18 09:40

果然是的!太感谢大神了! - TheOne   2017-04-18 09:55


  相关主题

python怎么读取txt格式的数据文件?   1回答

怎么在python获取系统的当前日期和时间?   1回答

关于爬虫遇见了"input type=hidden",然后想直接用lxml,不用selenium的办法   0回答

dataframe数据变long python有stata类似的命令吗   1回答

怎么把python的dict存为json格式文件   2回答

怎么check dataframe 中的某个元素是否字符串?   1回答

引用报错ImportError: No module named stats   1回答

pymongo多线程报错Address already in use   1回答

python如何读取元素中含有逗号的csv文件   1回答

python如何判断某路径下是否存在指定的csv文件?   2回答

求多个torch tensor的平均值   1回答

gc.collect()返回值是什么意思   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!