Initialisierung des leeren Listenwörterbuchs in Python
Der Versuch, ein Wörterbuch mit Listen mithilfe der fromkeys-Methode zu erstellen, kann zu unerwartetem Verhalten führen, bei dem alle Wörterbuchschlüssel werden aktualisiert, wenn sie an einen Schlüssel angehängt werden. Dies liegt daran, dass fromkeys ein einzelnes Listenobjekt erstellt und es als Wert für alle Schlüssel referenziert.
Um dieses Problem zu beheben, verwenden Sie ein Wörterbuchverständnis:
data = {k: [] for k in range(2)}
Dieses Verständnis erstellt eine neue Liste Objekt für jeden Schlüssel, um sicherzustellen, dass jeder Schlüssel seine eigene unabhängige Liste hat.
Alternativ können Sie in Python-Versionen vor 2.7 eine Liste verwenden Verständnis, das an den dict-Konstruktor übergeben wird:
data = dict([(k, []) for k in range(2)])
Oder in Python 2.4-2.6 kann ein Generatorausdruck an dict:
data = dict((k, []) for k in range(2))
Das obige ist der detaillierte Inhalt vonWie vermeide ich gemeinsame Listenverweise beim Initialisieren leerer Listenwörterbücher in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!