繁体   English   中英

如何计算列表中大于给定数字的元素的出现次数?

[英]How can I count occurrences of elements that are bigger than a given number in an list?

假设我有这个清单:

a = [1.1, 2, 3.1, 4, 5, 6, 7.2, 8.5, 9.1]

我想知道有多少元素大于7.结果应该是3 在Python中有一种优雅的方法吗? 我尝试了count但它不起作用。

>>> a = [1.1 , 2 , 3.1 , 4 , 5 , 6 , 7.2 , 8.5 , 9.1]
>>> sum(x > 7 for x in a)
3

这使用了bool s也是int的事实。

(如果你反对这个,因为你认为它不清楚或pythonic然后阅读此链接

更短,使用numpy:

sum(np.array(a)>7)

编写一个函数,返回大于特定数字的元素数。

def get_max_count(l, num):
    count = 0

    for x in l:
        if x > num:
            count+=1
    return count

l = [1.1, 2, 3.1, 4, 5, 6, 7.2, 8.5, 9.1]
print get_max_count(l=l, num = 7)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM