假设我有这个清单:
a = [1.1, 2, 3.1, 4, 5, 6, 7.2, 8.5, 9.1]
我想知道有多少元素大于7.结果应该是3
。在Python中有一种优雅的方法吗?我尝试使用count
,但它不起作用。
答案 0 :(得分:16)
>>> 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 那么请阅读this link)
答案 1 :(得分:2)
更短,使用numpy:
sum(np.array(a)>7)
答案 2 :(得分: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)