Python: dict nicht sortieren

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von omg_ein_anfänge, 27.06.2009.

  1. #1 omg_ein_anfänge, 27.06.2009
    omg_ein_anfänge

    omg_ein_anfänge Grünschnabel

    Dabei seit:
    27.06.2009
    Beiträge:
    2
    Zustimmungen:
    0
    Code:
    Code:
    fruits = {
        'oranges':4
        'banana':10,
        'apple':'2,
        }
    
    for index, item in fruits.items():
        print index , ' -> ' , item
    Ausgabe:
    Code:
    apple -> 2
    banana -> 10
    oranges -> 4
    
    Ja, also das funktioniert..ich habe nur das Problem, dass Python mir die einzelnen Eingaben im Dictionary alphabetisch sortiert ausgibt. Gibt es auch eine möglichkeit, das zu unterbinden (also das nicht "apples" sondern in dem fall "oranges" zuerst ausgegeben wird? Eben entsprechend der Reihung meiner Eingabe nach?)
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 foobarflu, 27.06.2009
    foobarflu

    foobarflu Foren As

    Dabei seit:
    21.12.2003
    Beiträge:
    79
    Zustimmungen:
    0
    die Sortierung erfolgt iirc entsprechend der internen Hash-Repräsentation, nicht alphabetisch. Probier dein Beispiel mit
    Code:
    {'foo' : 1, 'bar' : 2, 'flu' : 3 }
    
    dicts haben generell keine Ordnung, ergo wird die Reihenfolge der Eingabe nirgendwo gespeichert.
     
  4. #3 omg_ein_anfänge, 27.06.2009
    omg_ein_anfänge

    omg_ein_anfänge Grünschnabel

    Dabei seit:
    27.06.2009
    Beiträge:
    2
    Zustimmungen:
    0
    Gibt es denn dann irgendeine möglichkeit, eine Reihenfolge festzulegen? Oder eventuell eine Ausweichmöglichkeit, die so funktioniert, wie ich es mir wünschen würde?
     
  5. #4 bytepool, 28.06.2009
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    wie foobarflu ja schon erklaerte, macht ein dict keinerlei Garantien ueber die Reihenfolge der enthaltenen Daten. Das wuerde ja auch dem Sinn eines dicts widersprechen. Du benutzt einen Hash, wenn du moeglichst schnellen Zugriff auf willkuerliche Daten ueber einen selbst definierten Index haben willst. Die Reihenfolge ist irrelevant.

    Wenn dir die Reihenfolge wichtig ist, musst du eine Liste nehmen.

    Solltest du wirklich diese beiden Konzepte in eine Datenstruktur packen wollen, kannst du dir ja einfach eine Klasse dafuer schreiben. Mir ist jedenfalls auch keine vorgefertigte Python Datenstruktur dafuer bekannt.

    mfg,
    bytepool
     
  6. #5 slackfan, 01.07.2009
    slackfan

    slackfan König

    Dabei seit:
    18.04.2006
    Beiträge:
    809
    Zustimmungen:
    0
    Ort:
    Bonn
Thema: Python: dict nicht sortieren
Besucher kamen mit folgenden Suchen
  1. geordnetes Dictionary python

Die Seite wird geladen...

Python: dict nicht sortieren - Ähnliche Themen

  1. Python Softwareentwickler (Hintergrundentwicklung und Datenanalyse)

    Python Softwareentwickler (Hintergrundentwicklung und Datenanalyse): Stelle : Software-Entwickler Anzahl : 3 Standort : Manila(Die Philippinen) Dezhong Investment LTD. Unser internationales...
  2. Python-Interpreter PyPy 5.0 freigegeben

    Python-Interpreter PyPy 5.0 freigegeben: Der Python-Interpreter PyPy wurde in Version 5.0 veröffentlicht. Die aktuelle Version des Interpreters, der wesentlich schneller als der...
  3. Python-Interpreter PyPy 4.0 freigegeben

    Python-Interpreter PyPy 4.0 freigegeben: Der Python-Interpreter PyPy wurde in Version 4.0 veröffentlicht. Die aktuelle Version des Interpreters, der wesentlich schneller als der...
  4. Python 3.5 ist fertig

    Python 3.5 ist fertig: Über eineinhalb Jahre nach Python 3.4 haben die Entwickler jetzt die nächste Version veröffentlicht. In Python 3.5 gibt es zahlreiche Neuerungen...
  5. Python-Interpreter PyPy 2.6 freigegeben

    Python-Interpreter PyPy 2.6 freigegeben: Der Python-Interpreter PyPy wurde in Version 2.6 veröffentlicht. Der Schwerpunkt der aktuellen Version des Interpreters, der wesentlich schneller...