Eine Funktion zum Vertauschen von Schlüssel und Wert (Dict.)

Code-Stücke können hier veröffentlicht werden.
Olliminatore
User
Beiträge: 55
Registriert: Montag 30. Mai 2005, 16:03
Wohnort: schönsten Stadt Deutschlands
Kontaktdaten:

Montag 30. Mai 2005, 21:57

Habe mal alle Varianten mitn Benchmark durchgetestet.
ASCII158: mit try: und tuple war (minimal schlechter) gleich Voges: mit list.
Interessant ist mit

Code: Alles auswählen

        except TypeError:
            [...]
    except KeyError:
um 1/3 schneller war :!:

Wobei meine Variante (für meine Zwecke) noch 7mal schneller war als Diese .
Scheinbar weil ich keine Type/Key Abfrage mache.
Olliminatore
User
Beiträge: 55
Registriert: Montag 30. Mai 2005, 16:03
Wohnort: schönsten Stadt Deutschlands
Kontaktdaten:

Donnerstag 2. Juni 2005, 15:36

Code: Alles auswählen

def dictinvert(d):
    inv = {}
    for k, v in d.iteritems(): inv.setdefault(v, []).append(k)
    return inv
Das ist was ich gesucht habe(dict) ! :D
Da gilt wieder: Wer sucht der findet , aber wann!?
Meine List Variante ist aber immernoch doppelt so schnell.
Antworten