Is the final order defined by a list of indices ?
>>> items = [1, None, "chicken", int]
>>> order = [3, 0, 1, 2]
>>> ordered_list = [items[i] for i in order]
>>> ordered_list
[<type 'int'>, 1, None, 'chicken']
edit: meh. AJ was faster... How can I reorder a list in python?