Let's say I have this list:
a = [1.1, 2, 3.1, 4, 5, 6, 7.2, 8.5, 9.1]
I want to know how many elements are there bigger than 7. The result should be 3
. Is there an elegant way to do this in Python? I tried with count
but it won't work.
>>> a = [1.1 , 2 , 3.1 , 4 , 5 , 6 , 7.2 , 8.5 , 9.1]
>>> sum(x > 7 for x in a)
3
This uses the fact that bool
s are int
s too.
(If you oppose this because you think it isn't clear or pythonic then read this link )
更短,使用numpy:
sum(np.array(a)>7)
write a function that return you count of elements greater than specific number.
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)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.