Python-select I-TEN element in OrderedDict

Habe ich ein code-snippet, welche Aufträge ein Wörterbuch alphabetisch ein.
Gibt es eine Möglichkeit, wählen Sie die I-Taste in der bestellten Wörterbuch und zurückkehren, um den entsprechenden Wert? also

import collections
initial = dict(a=1, b=2, c=2, d=1, e=3)
ordered_dict = collections.OrderedDict(sorted(initial.items(), key=lambda t: t[0]))
print(ordered_dict)

OrderedDict([('a', 1), ('b', 2), ('c', 2), ('d', 1), ('e', 3)])

Möchte ich eine Funktion entlang der Vene...

select = int(input("Input dictionary index"))
#User inputs 2
#Program looks up the 2nd entry in ordered_dict (c in this case)
#And then returns the value of c (2 in this case)

Wie kann das erreicht werden?
Danke.

(Ähnlich Zugriff auf Elemente In einem ordereddict, aber ich will nur, um die Ausgabe der Wert des Schlüssel-Wert-paar.)

versuchen ordered_dict[ordered_dict.keys()[index]]
Ich habe versucht (ohne dass der Benutzer Eingangs-bit) print(ordered_dict[ordered_dict.keys()[2]]) und erhielt die Fehlermeldung TypeError: "KeysView" Objekt unterstützt keine Indizierung.
lambda geschrieben mit b vor der d.
Ich bitte um Entschuldigung, korrigiert.
Sie vermeiden das Sortieren der ganzen initial Wörterbuch, wenn der Eingang ist ein kleiner index mit heapq: result = initial[heapq.nsmallest(select+1, initial)[-1]]

InformationsquelleAutor Pingk | 2014-03-24

Schreibe einen Kommentar