Named tuples and projection
MRAB
google at mrabarnett.plus.com
Fri Jun 20 10:56:32 EDT 2008
On Jun 20, 9:38 am, Giuseppe Ottaviano <giu... at gmail.com> wrote:
> I found the namedtuple very convenient for rapid prototyping code, for
> functions that have to return a number of results that could grow as
> the code evolves. They are more elegant than dicts, and I don't have
> to create a new explicit class. Unfortunately in this situation they
> lose the convenience of tuple unpacking: changing tuple's parameters
> would break other functions unpacking the result.
> One solution, with 3.0 syntax, would be unpacking only the used
> parameters, using always a *rest
> a, b, *rest = f()
> so that if the tuple grows, the code keeps working.
> However I find this confusing (and not avaliable in python 2.5).
> I don't know if similar solutions have been proposed, I came up with
> this one:
>
[snip]
Provided you don't change the order of the items in the tuple, you can
just use slicing:
a, b = f()[ : 2]
More information about the Python-list
mailing list