所以我有一个数组,比如[5,2,2,0]之类的东西,是否有一个函数返回通过条件的元素数量?

目前我正在这样做:

a = [5,2,2,0]
len([i for i in a if i > 0])


有人也建议这种方法:

sum(b > 0 for b in a)


但是IMO这是一回事,只是可读性差一点。

有没有这样的方法,我可以使用:

def crit(x): return x > 0
a.count(criterion=crit)

最佳答案

您可以使用filter函数len(filter(crit, a))

10-08 20:07