在不使用python内置函数(count)和if条件的情况下,在列表中计算5。可以使用for循环
x=[0,5,5,5,0,0,0,5,0,5,0,0]
如果列表仅包含0或5,则可以在for循环中对列表求和,并将最终结果除以5以获得计数:
x=[0,5,5,5,0,0,0,5,0,5,0,0] count = 0 for i in x: count += i count = count/5
输出:
5
简单的解决方案是:
len(filter(lambda y: y==5, x))
但这感觉非常接近使用计数。。。
如果你不应该使用 len ,这是一个使用函数式编程的好机会。
len
from functools import reduce reduce(lambda _, a: a+1, filter(lambda y: y==5, x))
filter函数将只过滤符合条件(=5)的元素,reduce函数将做与计数相同的操作。