[Python-de] dictonary umdrehen

Detlef Lannert lannert at uni-duesseldorf.de
Thu Feb 21 14:27:31 EST 2002


> > > Hi ich habs mal gelesen, aber ich finds nicht mehr. Wie kann ich alle
> > > werte in einem dict vertauschen.
> > > Also:
> > >
> > > key     value
> > > --> zu
> > > value   key
> >
> > import mx.Tools
> > inv_d = mx.Tools.invdict(dict)
> 
> Danke, und da war es doch so einfach ;)

Für große Dicts ist die C-Implementierung in mx.Tools sicher die
effektivste. Ab Python 2.2 geht es "notfalls" auch so, ganz kurz:

    >>> x = {"de": "Papagei", "en": "parrot"}
    >>> y = dict([(x[k], k) for k in x])
    >>> y
    {'parrot': 'en', 'Papagei': 'de'}
    >>>

In Versionen <2.2 mußte man etwas mehr tippen ...

  Detlef



More information about the Python-de mailing list