fork download
  1. items = ['aaa','sss','ddd','fff','gggg','hhhh']
  2. indices = [1,3,4]
  3.  
  4. from operator import itemgetter
  5. import timeit
  6.  
  7. getter = itemgetter(*indices)
  8. print(timeit.repeat('map(items.__getitem__, indices)','from __main__ import items,indices'))
  9. print( timeit.repeat('getter(items)','from __main__ import itemgetter,items,indices,getter'))
  10. print(timeit.repeat('[items[i] for i in indices]','from __main__ import items,indices'))
  11. print(timeit.repeat('itemgetter(*indices)(items)','from __main__ import itemgetter,items,indices'))
Success #stdin #stdout 5.62s 8832KB
stdin
Standard input is empty
stdout
[0.7787699699401855, 0.780189037322998, 0.7771749496459961]
[0.22155284881591797, 0.22301292419433594, 0.2216329574584961]
[0.4312171936035156, 0.4324638843536377, 0.4340078830718994]
[0.41494107246398926, 0.4111979007720947, 0.40995192527770996]