Syntax across languages
bearophileHUGS at lycos.com
bearophileHUGS at lycos.com
Mon Oct 24 01:03:17 EDT 2005
Thank you for all the answers, some people have already answered for me
about most details I don't agree :-)
Mike Meyer>Rexx has a global control that lets you set the number of
digits to be considered significant in doing an FP equality test.<
Mathematica too, I think.
Tom Anderson>There are all sorts of solutions, coming at the problem
from different angles, but the end of it is more or less here:<
Interesting, but I think in Python the recursive solutions cannot be
used, because they are too much fragile (they break with not much
nested levels), an iterative solution (using a stack) can manage enough
levels before finishing the memory ("not much" and "enough" are
relative things, I know... but there is probably a difference of 10**4
times still). Note that statistically most real-life structures to
flatten are probably quite flat (the most common are probably of depth
2), so probably the non recursive solution is the better again :-)
Another problem with such solutions is that they don't allow to define
what to iterate over and what to not consider a sequence. This is
probably easy to define with an input parameter. (A compromise solution
is probably enough, without a fully general solution for this problem).
Another interesting possibility (suggested from Mathematica Flatten[]
syntax) is to add another parameter to specify how much levels to
flatten (all levels, only the first k levels, or all levels but the
last n levels), but maybe this last parameter can be a bit less easy to
remember, and Python functions are designed to be very easy to
remember.
Bye,
bearophile
More information about the Python-list
mailing list