numpy 按条件翻转 无法正确实现

# 创建一个包含1-10中所有整数的向量,并对3-8之间的元素取相反数,即输出[1,2,-3,-4,-5,-6,-7,-8,9]
import numpy as np

a = np.arange(1, 10)
a = np.where(3 <= a <= 9, -a, a)
print(a)

要求如注释,报错如下

img


写成a = np.where((3 <= a), -a, a)就不会报错,但与题目要求不符
想知道如何使用np.where完成如上题目

>>> a = np.arange(1, 10)
>>> np.where((3<=a)&(a<=9), -a, a)
array([ 1,  2, -3, -4, -5, -6, -7, -8, -9])