嗨,我想在python中实现一个lambda函数,如果x> 1和0(反之,则为relu),我可以返回x:
所以我有。喜欢:
p = [-1,0,2,4,-3,1]
relu_vals = lambda x: x if x>0 else 0
print(relu_vals(p))
请务必注意,我想将lambda的值传递给函数
但是失败了。...
答案 0 :(得分:2)
您要使用map将此功能应用于列表的每个元素
list(map(relu_vals, p))
给你
[0, 0, 2, 4, 0, 1]
如果您不打算再次使用它,最好在map
中定义lambda函数
print(list(map(lambda x: x if x > 0 else 0, p)))
答案 1 :(得分:1)
您的编程正确,但是需要一些修改。
尝试一下
>>> p = [-1,0,2,4,-3,1]
>>> relu_vals = lambda x: x if x>0 else 0
>>> [relu_vals(i) for i in p]
[0, 0, 2, 4, 0, 1]