Walther Neuper wrote:
>>> def reverse_(list):
... """list.reverse() returns None; reverse_ returns the reversed
list"""
... list.reverse()
... return list
...
>>> ll = [[11, 'a'], [33, 'b']]
>>> l = ll[:] # make a copy !
>>> l = map(reverse_, l[:]) # make a copy ?
>>> ll.extend(l)
>>> print("ll=", ll)
('ll=', [['a', 11], ['b', 33], ['a', 11], ['b', 33]])
But I expected to get ...
('ll=', [[11, 22], [33, 44], [22, 11], [44, 33]])
... how would that elegantly be achieved with Python ?
Your example isn't clear, but you may be better off using list
comprehensions and the builtin 'reversed' function (though I don't know
if it is available in 2.4).
Some code if it helps:
a = [1, 2, 3]
b = [a, a, a]
print [list(reversed(X)) for X in b]
[[3, 2, 1], [3, 2, 1], [3, 2, 1]]
grid = [
[1, 2, 3],
[6, 5, 4],
[7, 8, 9],
]
print [list(reversed(X)) if i % 2 else X for i, X in enumerate(grid)]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
def revers_(seq):
seq = seq[:]
seq.reverse()
return seq
print a
[1, 2, 3]
print revers_(a)
[3, 2, 1]
print a
[1, 2, 3]
print b
[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
print map(revers_, b)
[[3, 2, 1], [3, 2, 1], [3, 2, 1]]
print b
[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
--
http://mail.python.org/mailman/listinfo/python-list