Extrahieren Sie die x-te Schlüssel in einem python-Wörterbuch?

Gegeben, ein python-dictionary und eine ganze Zahl n ich zugreifen zu können, müssen nth-Taste. Ich brauche dazu immer wieder viele Male in meinem Projekt.

Ich geschrieben habe, eine Funktion, die Folgendes tut:

def ix(self,dict,n):
    count=0
    for i in sorted(dict.keys()):
        if n==count:
            return i
        else:
            count+=1

Aber das problem ist, dass wenn das Wörterbuch ist riesig, die Zeit, die Komplexität erhöht sich, wenn wiederholt verwendet.

Gibt es eine effiziente Möglichkeit, dies zu tun?

Erstens entfernen .keys() für gleichwertig, aber schnelleren code
es gibt nichts wie "das N-te element" in einer ungeordneten Sammlung. Sie sind Phrasierung das problem falsch, denke ich.
Ya, Danke! Ich habe nicht gewusst, dass die iteration getan werden kann, auch ohne .- Tasten(), und gibt es eine Lösung für die wichtigste Frage?
bestellt dict und die Methoden beschreiben, in die Antworten.
als der Python 3.6/3.7 die Sie nicht mehr benötigen OrderedDict, dicts-Garantie einsetzen, um (und da es ein Sprach-feature in 3.7).

InformationsquelleAutor Hemanth Malla | 2013-06-07

Schreibe einen Kommentar