【问题标题】:Referencing numpy array locations within if statements在 if 语句中引用 numpy 数组位置
【发布时间】: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中,数组的lennumpy.size(array, axis=0),在matlab中lengthMAX(SIZE(MATRIX))
  • @BiRico - 你是对的。

标签: python arrays matlab numpy indexing


【解决方案1】:

看起来index 是某种数组,但是当您执行index(y)index(x) 时,Python 认为您正在尝试使用xy 作为参数调用函数index() ,分别。

如果您想简单地访问元素,请使用 index[x]index[y]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多