Szabolcs <[EMAIL PROTECTED]> wrote: > In Python this would be something like > result = processData(list(reversed(sorted(data))))
I know that is only intended as an example, but by trying to use Mathematica idioms in Python you are perhaps blinding yourself to using Python's own idioms. A more Pythonic way to write your example in Python would be: result = processData(sorted(data, reverse=True)) sorted already returns a list, and giving it 'reverse=True' is almost always identical to sorting and then reversing (and in the rare cases where it matters the reverse parameter is probably what you want). > The second question: > > Of course Python is not Mathematica and not as friendly with this > style as Mma is. Sometimes it forces me to use some temporary > variables (e.g. because lines get too long and breaking lines with a > backslash is ugly). I like to get rid of these variables as soon as > they aren't needed, e.g.: > > temp = data[:] > temp.sort() > temp.reverse() > result = processData(temp) > del temp > > Is it possible to avoid the explicit del temp? In C/C++ I would simply > enclose the piece of code in curly brackets. Is it possible to somehow > separate a block of code from the rest of the program and make > variables local to it? Move the code using the temporary variable into a function and it will disappear as soon as the function returns. If you find you want to delete the temporary before the function returns then your function is too long. As always there are caveats on this: don't depend on either 'del' or a return from a function actually destroying objects immediately as any surviving references to the value will prolong its life. Also, while the current C-Python implementation deletes values immediately if they have no references other Python implementations do not. In this case the obvious fix is to use a function which copies, sorts and reverses a sequence and then you don't need the temporary. Since that function already exists you don't even need to write it. -- http://mail.python.org/mailman/listinfo/python-list