[Python-de] Dictionary sortieren???

Klaus Meyer km-news1 at onlinehome.de
Wed May 28 21:49:54 EDT 2003


Hallo Christian,

Sortierhinweise hast Du ja genug erhalten!

Trotzdem auch noch mein Senf dazu, aber unter etwas anderem Gesichtspunkt:

> habe eine Liste die Dictionaris enthält!
>
> a = [{'vorname': 'christian', 'name': 'klinger'},{'vorname':'alfons', 
> 'name':'mustermann'}]
(ein Komma von mir eingefügt, da sonst syntaktisch falsch)

Ich finde Deine Datenstruktur etwas unglücklich, wobei des natürlich an 
Deinem gekürzten Beispiel liegen kann oder weil ich etwas übersehen habe.

Du hast ein Liste, in der jeder Eintrag ein Dictionary mit nur *zwei* 
Einträgen ist. Dictionary ist der mächtigste Datentyp in Python und daher 
benötigt er mehr Platz und mehr Laufzeit, als zB eine Liste. Ausserdem 
kannst Du bei nur 2 Einträgen pro Dictionary dessen Möglichkeiten 
eigentlich nicht wirklich ausnutzen.

Ich vermute mal, Du sammelst die Liste "a" selber zusammen. Wenn Du dabei 
die Dict-Werte zB in ein Tupel (Name, Vorname) umwandelst, könntest Du den 
Sort viel einfacher bekommen und Du sparst Speicherplatz und Laufzeit. Das 
wird man sicherlich erst bei seeehr vielen Daten merken...

>>> a = [ ('muster', 'bill'), ('kid', 'bill'), ('muster', 'alfons'), 
>>> ('klinger', 'christian')]
>>> a.sort()
>>> a
[('kid', 'bill'), ('klinger', 'christian'), ('muster', 'alfons'), 
('muster', 'bill')]

Nur mal so als Anregung.
Vielleicht bin ich ja auch auf dem falschen Dampfer...

-- 
Mit freundlichen Grüßen
Klaus Meyer :-)



More information about the Python-de mailing list