返回数组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 ________?
只能使用此行。 在python中
答案 0 :(得分:5)
以下是将其作为矢量化操作的一种方法:
import numpy as np
def F(A, x, y):
return np.sum((A > x) & (A < y))
每次比较都返回一个布尔数组。表达式ANDs这两个数组元素并将结果相加。
答案 1 :(得分:3)
我对numpy一无所知,但在vanilla python中:
def F(A, x, y):
return sum(x < v < y for v in A)
这使用的事实是,您可以通过求和来计算布尔数组中True
的数量,因为int(True) == 1
和int(False) == 0
。
答案 2 :(得分:2)
列表理解是一种选择。
def F(A,x,y):
return len([i for i in A if i > x and i < y])