[Python-ideas] Unpack of sequences

M.-A. Lemburg mal at egenix.com
Wed Aug 29 18:41:02 CEST 2012


Cesare Di Mauro wrote:
> 2012/8/29 Mike Graham <mikegraham at gmail.com>
> 
>> On Wed, Aug 29, 2012 at 11:45 AM, Masklinn <masklinn at masklinn.net> wrote:
>>> On 2012-08-29, at 17:03 , Guido van Rossum wrote:
>>>>
>>>> Also of course assignment has no equivalent to keyword parameters
>>>
>>> I've always thought it would be a rather neat way to unpack
>>> dictionaries, instead of doing it by hand or abusing `itemgetter` to get
>>> values in a known order.
>>
>> Do you have a suggestion of a nice syntax for a thing to unpack
>> mappings (or to unpack things by attributes)?
>>
>> Mike
>>
> 
> a: x, b: y, c: z = {'a': 'x', 'b': 'y', 'c': 'z'}

Would this assign 'a' to a or just use a as key for the lookup ?
If the former, where would you take the lookup order from ?
If the latter, what about keys that are not valid Python identifiers ?

mxTools has a function extract() to extract values from a mapping
or sequence object:

extract(object,indices[,defaults])
  Builds a list with entries object[index] for each index in the sequence indices.
  (see http://www.egenix.com/products/python/mxBase/mxTools/doc/)

>>> mx.Tools.extract(d, ('a', 'b', 'c'))
['x', 'y', 'z']

IMO, that's a much cleaner way to express what you'd like Python
to do.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Aug 29 2012)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
2012-10-23: Python Meeting Duesseldorf ...                 55 days to go
2012-08-28: Released mxODBC 3.2.0 ...             http://egenix.com/go31
2012-08-20: Released mxODBC.Connect 2.0.0 ...     http://egenix.com/go30

::: Try our new mxODBC.Connect Python Database Interface for free ! ::::


   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               http://www.egenix.com/company/contact/



More information about the Python-ideas mailing list