返回数组A
中大于 x 且小于 y 的项目数。A
是一维浮点数组,x 和 y 是浮点数。例如F6(np.array([1.1, 2.2, 3.3, 2.3]), 2, 3)
应该返回2
。
def F(A,x,y):
return ________?
只能使用这条线。在蟒蛇
这是一种将其作为矢量化操作的方法:
import numpy as np
def F(A, x, y):
return np.sum((A > x) & (A < y))
每个比较都返回一个布尔数组。表达式按元素对这两个数组进行 AND 运算并将结果相加。
我对numpy一无所知,但是在香草python中:
def F(A, x, y):
return sum(x < v < y for v in A)
True
这使用了这样一个事实,即您可以通过求和来计算布尔数组中 s 的数量,因为int(True) == 1
和int(False) == 0
。
列表理解是一种选择。
def F(A,x,y):
return len([i for i in A if i > x and i < y])