我有一个1D数组X和两个+/-元素。我把他们的信号隔离如下:
idxN, idxP = X<0, X>=0
现在我想创建一个数组,它的值取决于X的符号。我试图计算它,但它给出了标题语法错误。你知道吗
y(idxN) = [math.log(1+np.exp(x)) for x in X(idxN)]
y(idxP) = X(idxP)+[math.log(np.exp(-x)+1) for x in X(idxP)];
LHS任务是罪魁祸首吗?你知道吗
谢谢。你知道吗
[编辑]完整代码如下:
y = np.zeros(X.shape)
idxN, idxP = X<0, X>=0
y(idxN) = [math.log(1+np.exp(x)) for x in X(idxN)]
y(idxP) = X(idxP)+[math.log(np.exp(-x)+1) for x in X(idxP)];
return y
回溯是:
y(idxN) = [math.log(1+np.exp(x)) for x in X(idxN)]
File "<ipython-input-63-9a4488f04660>", line 1
y(idxN) = [math.log(1+np.exp(x)) for x in X(idxN)]
^
SyntaxError: can't assign to function call
我让它这样工作:
如果有更好的办法,请告诉我。谢谢。你知道吗
在一些编程语言如Matlab中,索引是带括号的引用。在Python中,索引用方括号表示。你知道吗
如果我有一个列表
mylist = [1,2,3,4]
,我引用如下元素:如果你说
y(idxN)
,Python认为你试图把idxN
作为参数传递给一个名为y
的函数。你知道吗相关问题 更多 >
编程相关推荐