list.reverse()
Gary Herron
gherron at islandtraining.com
Mon Apr 28 14:31:25 EDT 2008
Mark Bryan Yu wrote:
> This set of codes works:
>
>
>>>> x = range(5)
>>>> x.reverse()
>>>> x
>>>>
> [4, 3, 2, 1, 0]
>
> But this doesn't:
>
>
>>>> x = range(5).reverse()
>>>> print x
>>>>
> None
>
> Please explain this behavior. range(5) returns a list from 0 to 4 and
> reverse just reverses the items on the list that is returned by
> range(5). Why is x None (null)?
> --
> http://mail.python.org/mailman/listinfo/python-list
>
Because you are misusing reverse. It is an operation on a list that
reverses the list in place. It is meant to be used only in the
situation where you already have the list and want to reorder it:
x = .... list ...
x.reverse() # reorders, but returns nothing
... now use x ...
You might look at the builtin reversed(list):
http://www.python.org/doc/faq/programming/#how-do-i-iterate-over-a-sequence-in-reverse-order
Gary Herron
More information about the Python-list
mailing list