Если проблема не связана с функцией bultin max, напишите свою собственную:
def mymax(l):
x=float("-inf")
for i in l:
if i>x: x=i
return x
Если вам нужен список из n
самых больших значений в списке, вы также можете написать свое собственное из них:
def nmax(pl,n=1):
r,l=[],[]
for e in pl:
l.append(e)
for x in range(0,n):
max_found=float("-inf")
for i, v in enumerate(l):
if v>max_found:
max_found=v
max_index=i
r.append(max_found)
del l[max_index]
return r
Проверьте это:
>>> import random
>>> rl=random.sample(range(1000),10)
>>> print rl
[183, 456, 688, 263, 452, 613, 789, 682, 589, 493]
>>> print nmax(rl,2)
[789, 688]
Или, если вам разрешено встроенное sorted
, вы можете сделать это в одну строку:
>>> sorted(rl)[-2:]
[789, 688]