【发布时间】:2015-08-16 18:53:59
【问题描述】:
我有以下 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:length(index)
for j = i+1:length(index)
if index(j) == index(i)
continue;
end
但是,当我尝试执行我的代码时,我收到“numpy.ndarray 对象不可调用”错误。为什么会出现这种情况,我将如何以适当的 python 方式编写它以成功执行?
【问题讨论】:
-
我猜这意味着你想要
index[y] == index[x](方括号,而不是括号) -
另外我认为python的
len和matlab的length是不同的。在python中,数组的len是numpy.size(array, axis=0),在matlab中length是MAX(SIZE(MATRIX))。 -
@BiRico - 你是对的。
标签: python arrays matlab numpy indexing