Wenn Sie ein Objekt dict
in eine Liste konvertieren, werden nur die Schlüssel benötigt.
Wenn Sie es jedoch mit eckigen Klammern umgeben, bleibt alles gleich, es wird nur eine Liste von dict
s mit nur einem Element erstellt.
Dies liegt daran, dass beim Schleifen mit einer for
-Schleife nur die Schlüssel benötigt werden:
Wenn Sie jedoch die Werte und erhalten möchten, verwenden Sie .items()
:
Verwenden einer for
Schleife:
Wenn Sie jedoch list.__doc__
eingeben, erhalten Sie dasselbe wie [].__doc__
:
Art der Irreführung:)
Ersteres umschließt das gesamte Objekt in eckigen Klammern []
und macht es zu einer Liste mit einem Eintrag:
Letzteres iteriert über das Wörterbuch (Schlüssel erhalten) und erstellt daraus eine Liste:
%Vor%Im ersten Fall zeigt die Notation an, dass Sie eine Liste mit einem Wörterbuch als Objekt erstellen. Die Liste wird leer erstellt und das Wörterbuch wird als Objekt angehängt.
Im zweiten Fall rufen Sie die zweite Form des Listenkonstruktors auf - "initialisiert aus iterablen Elementen". In einem Wörterbuch sind die Schlüssel iterierbar, sodass Sie eine Liste der Wörterbuchschlüssel erhalten.
Die Liste ist ein Konstruktor, der eine beliebige Grundsequenz (also Tupel, Wörterbücher, andere Listen usw.) verwendet und diese in Listen umwandeln kann. Alternativ könnten Sie die Listen mit [] erstellen und eine Liste mit allen Dingen erstellen, die Sie in die Klammern setzen. Sie können die gleichen Dinge mit Listenverständnis erreichen.
%Vor%