Kristján Valur Jónsson <kristjan <at> ccpgames.com> writes: > timeit.Timer("(l.sort(), l[-1])", > s).timeit(1000) > > 0.29406761513791935
This is clearly wrong. l.sort() will sort the list in place when it is first invoked, and therefore will be very fast in subsequent calls. Compare with: timeit.Timer("sorted(l)[-1]", s).timeit(1000) which really does what you are looking for (sorting then taking the max *on every iteration*), and is much slower. As for heapq, its critical parts are already implemented in C as of Python 2.5.2: >>> import heapq, _heapq >>> _heapq <module '_heapq' from '/usr/lib/python2.5/lib-dynload/_heapq.so'> >>> heapq.heapify is _heapq.heapify True _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com