Heim >Backend-Entwicklung >Python-Tutorial >Wie erhalte ich eine Liste der Wörterbuchschlüssel in Python 2.7 und 3?

Wie erhalte ich eine Liste der Wörterbuchschlüssel in Python 2.7 und 3?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-17 15:19:02937Durchsuche

How to Get a List of Dictionary Keys in Python 2.7 and 3 ?

Zurückgeben von Wörterbuchschlüsseln als Listen in Python

In Python stößt der Zugriff auf Wörterbuchschlüssel als Liste häufig auf Unterschiede zwischen Python 2.7 und den Versionen 3.3 und höher. Während Python 2.7 bequem eine Liste von Schlüsseln mit newdict.keys() zurückgibt, kapselt Python ab 3.3 die Schlüssel in einem dict_keys-Objekt.

Um eine einfache Liste von Schlüsseln in Python 3 zu erhalten, verwenden Sie list() Funktion zum Konvertieren des dict_keys-Objekts:

list(newdict.keys())

Dadurch werden die gekapselten dict_keys in einen Standard umgewandelt Liste.

Es ist jedoch wichtig zu überlegen, ob diese Konvertierung wirklich wichtig ist. Python unterstützt Duck-Typing. Das heißt, wenn sich ein Objekt wie eine Liste verhält und reagiert, verliert sein genauer Typ an Bedeutung. Das dict_keys-Objekt kann listenähnlichen Iterationen unterzogen werden:

for key in newdict.keys():
    print(key)

Dies führt die Schlüsseliteration genauso gut durch wie eine reguläre Liste. Insbesondere fehlt dem dict_keys-Objekt die Möglichkeit, neue Elemente über newdict[k] = v einzufügen, aber dies ist in vielen Anwendungsfällen möglicherweise nicht notwendig.

Das obige ist der detaillierte Inhalt vonWie erhalte ich eine Liste der Wörterbuchschlüssel in Python 2.7 und 3?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn