Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- import time
- import timeit
- from itertools import *
- t = [random.random() for _ in range(100000)]
- def argmax1( ):
- return max( range(len(t)), key=lambda x:t[x] )
- def argmax2( ):
- return max( range(len(t)), key=t.__getitem__ )
- def argmax3( ):
- return t.index( max( t ) )
- def argmax4( ):
- return max(enumerate(t), key=lambda t:t[1])[0]
- def argmax5( ):
- ret = 0
- maxval = t[0]
- for i in range(len(t)):
- if maxval < t[i]:
- ret, maxval = i, t[i]
- return ret
- def argmax6( ):
- return max(zip(t, range(len(t))))[1]
- guys = [argmax1, argmax2, argmax3, argmax4, argmax5, argmax6 ]
- for f in guys:
- print(f.__name__, timeit.timeit(f, number=10))
Advertisement
Add Comment
Please, Sign In to add comment