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

Python 如何计算大于列表中给定数字的元素的出现次数?,python,list,count,Python,List,Count,假设我有以下清单: 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 这使用了bools也是ints这一事实 (如果你反对这一点,

假设我有以下清单:

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
s这一事实


(如果你反对这一点,因为你认为它不清楚或不符合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)

我不知道
True
值可以求和。@JohnWang更新了我的答案,
True
False
没什么特别的,顺便说一句,它们只是
1
0