Python: dict nicht sortieren

Diskutiere Python: dict nicht sortieren im Ruby, php, Perl, Python ... Forum im Bereich Programmieren unter Linux/Unix; Code: fruits = { 'oranges':4 'banana':10, 'apple':'2, } for index, item in fruits.items(): print index , ' -> ' ,...

  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

    Anzeige

    Wenn du mehr über Linux erfahren möchtest, dann solltest du dir mal folgende Shellkommandos anschauen.


    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
    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
Thema:

Python: dict nicht sortieren

Die Seite wird geladen...

Python: dict nicht sortieren - Ähnliche Themen

  1. Python 2.7.18 beendet die Python 2-Ära

    Python 2.7.18 beendet die Python 2-Ära: Das Python-Projekt hat zum letzten Mal eine Aktualisierung von Python 2.7 veröffentlicht. Damit endet die offizielle Unterstützung von Python 2.7,...
  2. Handbuch zu Python 3 als Openbook veröffentlicht

    Handbuch zu Python 3 als Openbook veröffentlicht: Der Bonner Rheinwerk Verlag hat »Python 3 - Das umfassende Handbuch« zum kostenlosen Lesen auf seiner Webseite veröffentlicht. Das über 1.000...
  3. Python-Interpreter PyPy 7.2 freigegeben

    Python-Interpreter PyPy 7.2 freigegeben: Der Python-Interpreter PyPy wurde in Version 7.2 veröffentlicht. Die aktuelle Version des Interpreters, der wesentlich schneller als der...
  4. Python 3.8 erschienen

    Python 3.8 erschienen: Über 15 Monate nach Python 3.7 wurde jetzt die nächste Version veröffentlicht. Python 3.8 bringt als wesentliche Erweiterung einen Operator, der...
  5. Ende von Python 2 rückt näher

    Ende von Python 2 rückt näher: Die Unterstützung für Python 2 endet am 31.12. 2019. Die Python Software Foundation hat eine Kampagne gestartet, um mehr Öffentlichkeit zu...
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden