Python Dictionary fromkeys ()

Die fromkeys () -Methode erstellt aus der angegebenen Elementfolge ein neues Wörterbuch mit einem vom Benutzer angegebenen Wert.

Die Syntax der fromkeys()Methode lautet:

 dictionary.fromkeys (Sequenz (, Wert))

fromkeys () Parameter

fromkeys() Methode nimmt zwei Parameter:

  • Sequenz - Sequenz von Elementen, die als Schlüssel für das neue Wörterbuch verwendet werden sollen
  • value (Optional) - Wert, der für jedes Element des Wörterbuchs festgelegt wird

Rückgabewert von fromkeys ()

fromkeys() Methode gibt ein neues Wörterbuch mit der angegebenen Folge von Elementen als Schlüssel des Wörterbuchs zurück.

Wenn das Wertargument festgelegt ist, wird jedes Element des neu erstellten Wörterbuchs auf den angegebenen Wert festgelegt.

Beispiel 1: Erstellen Sie ein Wörterbuch aus einer Folge von Schlüsseln

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) vowels = dict.fromkeys(keys) print(vowels)

Ausgabe

 ('a': Keine, 'u': Keine, 'o': Keine, 'e': Keine, 'i': Keine) 

Beispiel 2: Erstellen Sie ein Wörterbuch aus einer Folge von Schlüsseln mit Wert

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) value = 'vowel' vowels = dict.fromkeys(keys, value) print(vowels)

Ausgabe

 ('a': 'Vokal', 'u': 'Vokal', 'o': 'Vokal', 'e': 'Vokal', 'i': 'Vokal') 

Beispiel 3: Erstellen Sie ein Wörterbuch aus einer Liste veränderbarer Objekte

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) value = (1) vowels = dict.fromkeys(keys, value) print(vowels) # updating the value value.append(2) print(vowels)

Ausgabe

 ('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1)) ('a': (1, 2) ), 'u': (1, 2), 'o': (1, 2), 'e': (1, 2), 'i': (1, 2)) 

Wenn value ein veränderbares Objekt (dessen Wert geändert werden kann) wie Liste, Wörterbuch usw. ist, wird beim Ändern des veränderlichen Objekts auch jedes Element der Sequenz aktualisiert.

Dies liegt daran, dass jedem Element eine Referenz auf dasselbe Objekt zugewiesen wird (zeigt auf dasselbe Objekt im Speicher).

Um dieses Problem zu vermeiden, verwenden wir das Wörterbuchverständnis.

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) value = (1) vowels = ( key : list(value) for key in keys ) # you can also use ( key : value(:) for key in keys ) print(vowels) # updating the value value.append(2) print(vowels)

Ausgabe

 ('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1)) ('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1)) 

Hier wird für jeden Schlüssel in Schlüsseln eine neue Liste aus Wert erstellt und diesem zugewiesen.

Im Wesentlichen wird dem Element kein Wert zugewiesen, sondern daraus wird eine neue Liste erstellt, die dann jedem Element im Wörterbuch zugewiesen wird.

Interessante Beiträge...