【发布时间】:2017-01-23 06:30:26
【问题描述】:
我在 ipython 中尝试了以下代码:我想使用矢量化并给出函数 prox(x,tau)。但是 lambda 中的第一个值总是出现两次。
In [32]: a = np.array([[ 1., 2.],[ 3., 4.]])
In [33]: def prox(x, tau):
...: print x, tau
...: if x >= tau:
...: print "first"
...: return x-tau
...: if -tau <= x and x <= tau:
...: print "second"
...: return 0.0
...: if x <= -tau:
...: print "third"
...: return x+tau
In [34]: b = np.vectorize(lambda x: prox(x, 2))(a[:,1:])
In [35]: b
2.0 2
first
2.0 2
first
4.0 2
first
为什么在第 35 行两次打印相同的值? 2.0 2
【问题讨论】:
标签: python-2.7 numpy