2015-12-04 62 views
0

可以說我有下面的列表:你如何計算列表中有多少個最大值?

list1=[1,2,4,6,8,3,2,5,8,4,2] 

我想回到整數,2,因爲8是最大值,並有兩個名單787-8。我怎樣才能做到這一點?編輯:我也想假設列表中的最大數量可以是包括零在內的任何負數或非負數。

回答

0
ans = 0 
mx = 0 
for x in list1: 
    if x > mx: 
     mx = x 
     ans = 1 
    elif x == mx : 
     ans += 1 

print ans 

承擔最大數量大於0,否則你應在初始mx與負無窮大

+0

如果list1不是空的,你可以初始化'mx = list1 [0]' – vinllen

0
>>> list1=[1,2,4,6,8,3,2,5,8,4,2] 
>>> x = max(list1) 
>>> l = [] 
>>> for i in list1: 
    if i == x: 
     l.append(i) 


>>> l 
[8, 8] 
>>> len(l) 
2 

OR

>>> list1=[1,2,4,6,8,3,2,5,8,4,2] 
>>> x = max(list1) 
>>> result = len(filter(lambda i: i == x, list1)) 
>>> result 
2 
1

那麼你可以使用這樣的:

list1=[1,2,4,6,8,3,2,5,8,4,2] 
print list1.count(max(list1)) 
相關問題