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
应该是一个字符串,indicator
andalso timeRange
,andcals_param
和queries_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”,这不应该是一个数组,对吧?!