A new built-in function, reversed(seq), takes a sequence and returns an iterator that loops over the elements of the sequence in reverse order.
>>> for i in reversed(xrange(1,4)): ... print i ... 3 2 1
Compared to extended slicing, such as
reversed() is easier to read, runs faster, and uses
substantially less memory.
Note that reversed() only accepts sequences, not arbitrary iterators. If you want to reverse an iterator, first convert it to a list with list().
>>> input = open('/etc/passwd', 'r') >>> for line in reversed(list(input)): ... print line ... root:*:0:0:System Administrator:/var/root:/bin/tcsh ...
See About this document... for information on suggesting changes.