我想把数组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
1个回答
这个不是map的问题,是你的lambda语句出错了。
在lambda语句中,如果使用if,那必须要给出else。
a = map(lambda x: 0 if x in target else x, a)
果然是的!太感谢大神了!
-
TheOne
2017-04-18 09:55