我有一个阵列
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()
当我尝试使用
any
或all
时,我会得到相同的错误。是否可以结合两个条件测试来获得ANS?
最佳答案
numpy.nonzero((a > 3) & (a < 8))
&执行按元素排序的布尔值和。