Python 3.6+: Auf Elemente in `dict()` über ihren Index zugreifen möglich?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Atalanttore
User
Beiträge: 407
Registriert: Freitag 6. August 2010, 17:03

Hallo

In Python 3.6 auf meinem Linux-System behalten die Key-Value-Paare eines `dict()` ihre vorgegebene Reihenfolge ein. Kann man auf die Elemente nun auch über ihren Index zugreifen?

Gruß
Atalanttore
Benutzeravatar
ThomasL
User
Beiträge: 1378
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

https://docs.python.org/3/library/stdty ... ew-objects
"Changed in version 3.7: Dictionary order is guaranteed to be insertion order."
Mehr nicht, daher lautet die Antwort auf deine Frage: Nein.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Benutzeravatar
sls
User
Beiträge: 480
Registriert: Mittwoch 13. Mai 2015, 23:52
Wohnort: Country country = new Zealand();

Atalanttore hat geschrieben: Freitag 25. Januar 2019, 17:40 In Python 3.6 auf meinem Linux-System behalten die Key-Value-Paare eines `dict()` ihre vorgegebene Reihenfolge ein. Kann man auf die Elemente nun auch über ihren Index zugreifen?
Dictionaries kann man nicht direkt über einen Index ansprechen. Dafür sind andere Datentypen gedacht. Du kannst den Rückgabewert von dict.items() in eine Liste konvertieren und dann über den Index abgreifen.

Code: Alles auswählen

>>> example
{'this': 123, 'is': 456, 'shit': 789}
>>> list(example.items())[0]
('this', 123)
>>> list(example.items())[1]
('is', 456)
>>> list(example.items())[2]
('shit', 789)
>>> 
When we say computer, we mean the electronic computer.
Atalanttore
User
Beiträge: 407
Registriert: Freitag 6. August 2010, 17:03

Alles klar.
Antworten