我想给lambda提供值,如果值连续超过一定的限制5次我想从函数返回1,我使用过滤器,但每次执行if
语句。我应该如何使用lambda来实现它?请任何其他建议。如何从Python中的lambda获取布尔值?
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())
什么?你为什么要'lambda'?你期望你的'if filter(..):'做什么?请注意,在Python 3中,'if filter(...):'将总是被视为真*。另外,'filter'不会影响你传递给它的列表。 –
我需要一个lambda来检索一个值,它只是必须我必须围绕lambda构建它。我知道我可以将过滤器的值存储为一个列表,但是不可能检查连续的数值是否更大。 –
为什么这是必要的?再次,*你想在这里做什么*?我不清楚。 –