"数组的真值"错误:这个数组在哪里?

时间:2013-06-28 09:20:15

标签: python arrays conditional-statements

  

ValueError:具有多个元素的数组的真值   暧昧。使用a.any()或a.all()

我知道这个错误意味着我的一个真值不是真值,但它怎么可能?

以下是错误行:

if (((indicator in calcs_param and timeRange in calcs_param[indicator]) or (indicator in queries_param and timeRange in queries_param[indicator]))) and ((field is None) or (field[0:2] in ["=/", "=-"]) or (field[-1:] in ["/", "-"])):

field应该是一个字符串,indicatortimeRange,以及cals_paramqueries_param一些词典。

为了调试它,我之前尝试这样做:

    if (isinstance(indicator, (list, tuple))):
        logger.warn("indicator \"" + indicator[0] + "\" is an array")
    if (isinstance(timeRange, (list, tuple))):
        logger.warn("timeRange \"" + timeRange[0] + "\" is an array")

但没有记录任何内容。

此外,我不明白的是我只使用AND和OR与“x in y”和“x is None”,这不应该是一个数组,对吧?!

0 个答案:

没有答案