map lambda if逗号报错,invalid syntax

  统计/机器学习 Python    浏览次数:6169        分享
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函数:

from __future__ import division是什么意思

python里的<<或者>>符号是什么意思?

怎么合并(串联)两个dataframe?

求多个torch tensor的平均值

python里清除已经定义过的变量

pymongo多线程报错Address already in use

引用报错ImportError: No module named stats

如何将csv中多行变成一行

问句python语法含义

  随便看看

pandas.DataFrame里的loc和iloc什么区别?

前馈神经网络如何选择隐藏层的数量

回归问题中R方可以小于0吗?

怎么理解图像识别里的dice系数?

怎么在已有的dataframe中插入一个新列(Pandas)