相关疑难解决方法(0)

ValueError:具有多个元素的数组的真值是不明确的.使用a.any()或a.all()

我刚刚在代码中发现了一个逻辑错误,导致了各种各样的问题.我无意中做了一个按位AND而不是逻辑AND.

我更改了代码:

r = mlab.csv2rec(datafile, delimiter=',', names=COL_HEADERS)
mask = ((r["dt"] >= startdate) & (r["dt"] <= enddate))
selected = r[mask]
Run Code Online (Sandbox Code Playgroud)

至:

r = mlab.csv2rec(datafile, delimiter=',', names=COL_HEADERS)
mask = ((r["dt"] >= startdate) and (r["dt"] <= enddate))
selected = r[mask]
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,我收到了相当神秘的错误消息:

ValueError:具有多个元素的数组的真值是不明确的.使用a.any()或a.all()

为什么在使用按位操作时没有发出类似的错误 - 我该如何解决这个问题?

python numpy

190
推荐指数
4
解决办法
51万
查看次数

Python,我应该基于__eq__实现__ne __()运算符吗?

我有一个类,我想覆盖__eq__()运算符.似乎我应该覆盖__ne__()运算符,但是__ne__基于__eq__这样实现它是否有意义?

class A:
    def __eq__(self, other):
        return self.value == other.value

    def __ne__(self, other):
        return not self.__eq__(other)
Run Code Online (Sandbox Code Playgroud)

或者,Python使用这些运算符的方式是否缺少某些东西,这不是一个好主意?

python comparison operators python-datamodel

80
推荐指数
4
解决办法
3万
查看次数

标签 统计

python ×2

comparison ×1

numpy ×1

operators ×1

python-datamodel ×1