私はラムダに値を供給しようとしていますが、値が一定の限界を5回連続して超えた場合、関数から1を返したいと思いますが、if
文が実行されるたびにフィルタを使用しています。ラムダを使って実装する方法は?他の提案をしてください。Pythonでlambdaからboolean値を取得する方法は?
rpm = [45,20,30,50,52,35,55,65]
rpm_limit=45
def check():
x, i = 0, 0
while i < len(rpm):
if (filter(lambda x: x > rpm_limit, rpm)): # rpm values will be feeded continuously
x=x+1
print("RPM: ",rpm[i])
if x >= 5:
return 1
else:
x=0
i += 1
return 0
print(check())
何ですか?なぜラムダが欲しいのですか?あなたの '' if filter(..): 'は何をするのですか? Python 3では 'if filter(...):'は常にtrueとみなされます。また、 'filter'はあなたが渡すリストに影響しません。 –
値を1つずつ取り出すためにはラムダが必要ですが、ラムダの周りにそれを構築する必要があります。私はリストからフィルターの値を格納することができますが、それは連続した値を確認することはできませんが大きいではないことを知っている。 –
なぜそれが必要ですか?もう一度、*あなたはここで何をしようとしていますか?それは私には分かりません。 –