Python 在if语句中引用numpy数组位置
我有Python的以下部分:Python 在if语句中引用numpy数组位置,python,arrays,matlab,numpy,indexing,Python,Arrays,Matlab,Numpy,Indexing,我有Python的以下部分: for j in range(0,T): for x in xrange(len(index)): for y in xrange(x+1,len(index)): if index(y) == index(x): continue 为此,我一直试图成功地从MATLAB等效程序中进行翻译。在matlab中,此操作简单如下: for iter = 1:T for i = 1:l
for j in range(0,T):
for x in xrange(len(index)):
for y in xrange(x+1,len(index)):
if index(y) == index(x):
continue
为此,我一直试图成功地从MATLAB等效程序中进行翻译。在matlab中,此操作简单如下:
for iter = 1:T
for i = 1:length(index)
for j = i+1:length(index)
if index(j) == index(i)
continue;
end
但是,当我尝试执行代码时,我收到一个“numpy.ndarray对象不可调用”错误。为什么会出现这种情况,我该如何用正确的python方式编写它以成功执行呢?看起来
索引是某种数组,但是当您执行索引(y)
和索引(x)
时,python认为您正在尝试调用函数索引()
分别使用x
和y
作为参数
如果您试图简单地访问元素,请使用index[x]
和index[y]我猜这意味着您想要index[y]==index[x]
(方括号,而不是圆括号),而且我认为python的len
和matlab的length
是不同的。在python中,数组的len
是numpy.size(数组,轴=0)
在matlab中length
是MAX(size(矩阵))
@BiRico-你是对的。