tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
1960
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Jens K Jens K ist offline Mitglied
    Registriert seit
    Jun 2008
    Beiträge
    24
    hallo,

    ich hab ein Dictionary z.B:
    Code :
    1
    
    dict = { "a"=1, "b"=5, "c"=3}

    Ich möchte das jetzt gerne sortiert haben, nämlich nicht nach den Schlüsseln sonders nach den Werten. Also so dass ich zum Schluss

    Code :
    1
    
    dict = { "a"=1, "c"=3, "b"=5}

    habe.
     

  2. #2
    Avatar von Bexx
    Bexx Bexx ist offline Programmer
    Registriert seit
    Feb 2009
    Beiträge
    214
    Hallo,

    kleiner nett gemeinter Tipp von mir, du lernst wesentlich mehr, wenn du es dir selber erarbeitest bzw. raussuchst.
    is your friend...

    anyway, hier deine Funktion:

    Code :
    1
    2
    3
    4
    
    def sortedDictValues1(adict):
        items = adict.items()
        items.sort()
        return [value for key, value in items]
     
    Christopher Columbus didn't need directions, neither do we!

    Alles hat eine Logik. Selbst wenn es keine Logik gibt.

    ***

    NetBeans 7.x, GlassFish v3
    JSF 2.0
    Java EE

  3. #3
    Jens K Jens K ist offline Mitglied
    Registriert seit
    Jun 2008
    Beiträge
    24
    hallo,

    ich erhalte dann aber eine Liste mit den values, ich möchte aber wieder mein dictionary haben
     

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    7.983
    Hi.
    Zitat Zitat von Jens K Beitrag anzeigen
    hallo,

    ich erhalte dann aber eine Liste mit den values, ich möchte aber wieder mein dictionary haben
    Ein Dictionary ist immer nach den Keys sortiert. Das ist ja gerade der Sinn eines "Wörterbuches".

    \edit: Ich find das jetzt grad etwas lustig. Man stelle sich vor jemand geht in einen Buchladen und möchte ein Wörterbuch, das nicht nach den Stichworten sortiert ist, sondern nach den Definitionen aber trotzdem die Stichworte zuerst darstellt...

    Gruß

    PS: @Bexx: Deine Funktion arbeitet nicht richtig. Es werden ja die (key, value) Paare primär nach dem key sortiert - und das war schließlich von Anfang an so.

    PPS: @Jens K: Ich weiß ja nicht wozu du das haben wolltest, aber evtl. nützt dir ein Dictionary welches als Schlüssel die Werte des ersten Dictionaries hat? Übrigens "dict" ist bereits der Name des Typs "dict" von Python -- keine gute Idee dies als Variablennamen zu verwenden.
    Code python:
    1
    2
    3
    
    a_dict = { "a"=1, "b"=5, "c"=3}
     
    another_dict = dict((v, k) for (k, v) in a_dict.items())
    Geändert von deepthroat (08.01.10 um 10:54 Uhr)
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.724
    Blog-Einträge
    29
    Hallo,

    eine weitere Möglichkeit wäre:
    Code python:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    >>> d = { "a":1, "b":5, "c":3}
    >>> d
    {'a': 1, 'c': 3, 'b': 5}
    >>> for item in sorted(d.items(),key=lambda x: x[1]):
    ...    print item
    ...
    ('a', 1)
    ('c', 3)
    ('b', 5)

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  6. #6
    onlyfoo-na Tutorials.de Gastzugang
    Ein Dictionary ist erstmal überhaupt nicht nach so einem Kriterium sortiert

    Code python:
    1
    2
    
    >>> dict(  pupsgesicht=22, hallowelt=12, ichbinmuede = 243 )
    {'ichbinmuede': 243, 'hallowelt': 12, 'pupsgesicht': 22}
     

Ähnliche Themen

  1. Python und PGP
    Von Oetzicool im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 0
    Letzter Beitrag: 30.04.10, 17:49
  2. [Python] Script ( .py ) aus Python Kommandozeile (python.exe) heraus öffnen
    Von Hookah im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 0
    Letzter Beitrag: 16.12.09, 10:59
  3. Antworten: 5
    Letzter Beitrag: 24.09.08, 00:10
  4. Python Programmier bzw. Python Entwicklerteam gesucht
    Von ppzi im Forum Stellenangebote (entgeltlich)
    Antworten: 0
    Letzter Beitrag: 29.07.08, 11:00
  5. [Python] Video tutorial zu dem Python Webframework TurboGears (20 Min )
    Von Thomas Darimont im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 0
    Letzter Beitrag: 07.12.06, 13:28