A
x より大きく y より小さい配列内の項目の数を返します。A
は 1 次元 float 配列で、x と y は float です。たとえば、F6(np.array([1.1, 2.2, 3.3, 2.3]), 2, 3)
を返す必要があり2
ます。
def F(A,x,y):
return ________?
この行のみ使用できます。パイソンで
ベクトル化された操作としてこれを行う 1 つの方法を次に示します。
import numpy as np
def F(A, x, y):
return np.sum((A > x) & (A < y))
各比較はブール配列を返します。この式は、これら 2 つの配列を要素ごとに AND し、結果を合計します。
私はnumpyについて何も知りませんが、バニラのpythonでは:
def F(A, x, y):
return sum(x < v < y for v in A)
これは、とTrue
であるため、合計することでブール配列内の の数を数えることができるという事実を利用しています。int(True) == 1
int(False) == 0
リスト内包表記はオプションです。
def F(A,x,y):
return len([i for i in A if i > x and i < y])