6

假设我有这个列表:

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

我想知道有多少个元素大于 7。结果应该是3. 在 Python 中有没有一种优雅的方法来做到这一点?我试过了,count但它不起作用。

4

3 回答 3

18
>>> 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 也是s的事实int

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

于 2013-04-02T08:51:42.673 回答
2

更短,使用 numpy:

sum(np.array(a)>7)
于 2013-07-18T14:55:44.507 回答
0

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

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)
于 2014-07-31T12:21:12.053 回答