count 5 in the list without using python built-in function(Count) and if condition. You can use for loop
x=[0,5,5,5,0,0,0,5,0,5,0,0]
CodePudding user response:
The straightforward solution would be:
len(filter(lambda y: y==5, x))
but this feels very close to using count...
If you're not supposed to use len
, then this is a good opportunity to use some functional programming here.
from functools import reduce
reduce(lambda _, a: a 1, filter(lambda y: y==5, x))
The filter function will filter to only elements which match your criterion (==5) and the reduce function will do the same as a count.
CodePudding user response:
If the list will only ever contain 0 or 5, then you can sum the list in a for loop and divide the end result by 5 to get the count:
x=[0,5,5,5,0,0,0,5,0,5,0,0]
count = 0
for i in x:
count = i
count = count/5
Output:
5