is possible to get order of keyword parameters ?

Steven Bethard steven.bethard at gmail.com
Fri Jan 25 15:06:07 EST 2008


Steven Bethard wrote:
> rndblnch wrote:
>> my goal is to implement a kind of named tuple.
>> idealy, it should behave like this:
>> p = Point(x=12, y=13)
>> print p.x, p.y
>> but what requires to keep track of the order is the unpacking:
>> x, y = p
>> i can't figure out how to produce an iterable that returns the values
>> in the right order.
>> relying on a "natural" order of the key names is not possible: x, and
>> y are alphabetically sorted but the following example should also
>> work:
>> size = Point(width=23, height=45)
>> w, h = size
> 
> There are a couple of recipes for named tuples:
> 
> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/502237
> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/500261
> 
> The latter of these will be in Python 2.6.  Using that recipe, and your 
> example, you would write::
> 
>     Point = namedtuple('Point', 'x y')
>     p = Point(x=12, y=13)
>     x, y = p
> 
>     Point = namedtuple('Point', 'width', 'height')

Sorry, typo here.  This should have read

       Point = namedtuple('Point', 'width height')

>     size = Point(width=23, height=45)
>     w, h = size

STeVe



More information about the Python-list mailing list