numpy.all()和空数组

时间:2017-05-07 01:31:39

标签: python numpy

我注意到numpy.all(np.array([]))评估为True。我找不到这个特定案例的任何文档。这是一个未定义的行为还是all保证为空数组求值为True

1 个答案:

答案 0 :(得分:2)

NumPy与Python列表的逻辑一致:

>>> all([])
True
>>> any([])
False

两者都遵循形式逻辑的规则,这可能意味着没有必要将此作为特例进行记录。示例:独角兽不存在,因此独角兽列表为[]

  • 声明"所有独角兽都是红色的"是真的。它拼写为"如果X是独角兽,则X为红色",对于所有对象都是如此,因为它们不是独角兽。
  • 声明"一些独角兽是红色的"是假的,因为它断言至少有一只红色独角兽存在。

有关维基百科的更多信息:Vacuous truth