我有一个阵列

a=[1,2,3,4,5,6,7,8,9]

我想找出满足两个条件的元素s的指数,即
a>3 and a<8
ans=[3,4,5,6]
a[ans]=[4,5,6,7]

我可以使用numpy.nonzero(a>3)numpy.nonzero(a<8)
但不是
numpy.nonzero(a>3 and a<8)给出错误:
ValueError: The truth value of an array with more than one element is
ambiguous. Use a.any() or a.all()

当我尝试使用anyall时,我会得到相同的错误。
是否可以结合两个条件测试来获得ANS?

最佳答案

numpy.nonzero((a > 3) & (a < 8))

&执行按元素排序的布尔值和。

10-06 08:07