Beim Versuch, ein Wörterbuch mit Listen zu erstellen, kann es zu einem unerwarteten Problem kommen, bei dem alle Schlüssel im Wörterbuch dasselbe haben Listenreferenz. Dies tritt auf, wenn die fromkeys()-Methode verwendet und eine leere Liste als zweites Argument übergeben wird.
Die dict.fromkeys()-Methode benötigt zwei Argumente: a Sammlung von Schlüsseln und einem Wert. Es erstellt ein neues Wörterbuch mit den bereitgestellten Schlüsseln und jeder Schlüssel wird dem angegebenen Wert zugeordnet.
Wenn jedoch eine leere Liste [] als Wert übergeben wird, werden allen Schlüsseln im resultierenden Wörterbuch die zugewiesen dasselbe Listenobjekt. Dies bedeutet, dass sich alle Änderungen an einem Schlüssel auch auf alle anderen Schlüssel auswirken.
Um ein Wörterbuch mit eindeutigen Listen zu erstellen, sollten Sie eine der folgenden Methoden in Betracht ziehen:
Diktverständnis (Python 2.7 )
data = {k: [] for k in range(2)}
Listenverständnis mit dict()-Konstruktor
data = dict([(k, []) for k in range(2)])
Generatorausdruck mit dict()-Konstruktor (Python 2.4-2.6 )
data = dict((k, []) for k in range(2))
Diese Methoden stellen sicher dass jeder Schlüssel im Wörterbuch einem separaten Listenobjekt zugeordnet ist, was individuelle Schlüsselaktualisierungen ermöglicht, ohne andere Schlüssel zu beeinträchtigen.
Das obige ist der detaillierte Inhalt vonWie vermeide ich gemeinsame Listenverweise beim Erstellen eines Wörterbuchs mit leeren Listen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!