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
和timeRange
,以及cals_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”,这不应该是一个数组,对吧?!