Py学习  »  Python

在不使用python内置函数和if条件的情况下,在列表中计算5

Sandeep • 2 年前 • 356 次点击  

在不使用python内置函数(count)和if条件的情况下,在列表中计算5。可以使用for循环

x=[0,5,5,5,0,0,0,5,0,5,0,0]
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/132573
 
356 次点击  
文章 [ 2 ]  |  最新文章 2 年前
Emi OB
Reply   •   1 楼
Emi OB    2 年前

如果列表仅包含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
greg_data
Reply   •   2 楼
greg_data    2 年前

简单的解决方案是:

len(filter(lambda y: y==5, x))

但这感觉非常接近使用计数。。。

如果你不应该使用 len ,这是一个使用函数式编程的好机会。

from functools import reduce
reduce(lambda _, a: a+1, filter(lambda y: y==5, x))

filter函数将只过滤符合条件(=5)的元素,reduce函数将做与计数相同的操作。