On Wed, 29 Feb 2012 20:07:49 -0800, Xah Lee wrote: > Here's in-place algorithm for reversing a list: > > # python > # in-place algorithm for reversing a list > > list_a = ["a", "b", "c", "d", "e", "f", "g"] > list_length = len(list_a) > for i in range(list_length/2): > x = list_a[i] > list_a[i] = list_a[ list_length -1 - i] > list_a[ list_length -1 - i] = x > > print list_a
This is a good example of code written by somebody not very familiar with Python idioms. You don't need a temporary variable to swap two values in Python. A better way to reverse a list using more Pythonic idioms is: for i in range(len(list_a)//2): list_a[i], list_a[-i-1] = list_a[-i-1], list_a[i] But the best way (even more idiomatic and much, much faster) is this: list_a.reverse() -- Steven -- http://mail.python.org/mailman/listinfo/python-list