English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Grundlegende Anleitung zu Python

Flusskontrolle in Python

Funktionen in Python

Datentypen in Python

Dateioperationen in Python

Python-Objekte und Klassen

Python-Daten und Zeit

Hochwertiges Wissen über Python

Python-Referenzhandbuch

Verwendung und Beispiel von fromkeys() in der Python-Datenbank

Python-Dictionarymethoden

Die Methode fromkeys() erstellt basierend auf der angegebenen Elementfolge ein neues Dictionary, das die vom Benutzer bereitgestellten Werte hat.

Die Syntax der Methode fromkeys() ist:

dictionary.fromkeys(sequence[, value])

Parameter von fromkeys()

Die Methode fromkeys() nimmt zwei Parameter an:

  • sequence -Die Elementfolge, die als Schlüssel des neuen Dictionaries verwendet wird

  • value (optional) -Der Wert, der für jedes Element des Dictionaries festgelegt wird

Rückgabewert von fromkeys()

Die Methode fromkeys() gibt ein neues Dictionary zurück, das die angegebene Elementfolge als Schlüssel des Dictionaries hat.

Wenn der value-Parameter gesetzt ist, wird jeder neue Dictionary-Element auf den angegebenen value-Wert gesetzt.

Beispiel1: Dictionary basierend auf einer Sequenz von Schlüsseln erstellen

# Vokal-Schlüssel
keys = {'a', 'e', 'i', 'o', 'u'}
vowels = dict.fromkeys(keys)
print(vowels)

Wenn Sie das Programm ausführen, wird die Ausgabe wie folgt sein:

{'a': None, 'u': None, 'o': None, 'e': None, 'i': None}

Beispiel2: Dictionary basierend auf einer Sequenz mit Werten und Schlüsseln erstellen

# Vokal-Schlüssel
keys = {'a', 'e', 'i', 'o', 'u'}
value = 'vowel'
vowels = dict.fromkeys(keys, value)
print(vowels)

Wenn Sie das Programm ausführen, wird die Ausgabe wie folgt sein:

{'a': 'vowel', 'u': 'vowel', 'o': 'vowel', 'e': 'vowel', 'i': 'vowel'}

Beispiel3: Dictionary aus veränderbaren Objektlisten erstellen

# Vokal-Schlüssel
keys = {'a', 'e', 'i', 'o', 'u'}
value = [1]
vowels = dict.fromkeys(keys, value)
print(vowels)
# Neuer Wert
value.append(2)
print(vowels)

Wenn Sie das Programm ausführen, wird die Ausgabe wie folgt sein:

{'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 der angegebene value ein veränderbares Objekt (dessen Wert geändert werden kann) ist, wieListe,WörterbuchWenn, dann wird bei der Änderung eines veränderbaren Objekts jeder Element der Sequenz aktualisiert.

Das liegt daran, dass für jedes Element eine Referenz auf dasselbe Objekt zugewiesen wird (der auf das gleiche Objekt im Speicher verweist).

Um dieses Problem zu vermeiden, verwenden wir Dictionary-Verständnis.

# Vokal-Schlüssel
keys = {'a', 'e', 'i', 'o', 'u'}
value = [1]
vowels = { key: list(value) for key in keys }
# Sie können auch { key: value[:] for key in keys } verwenden
print(vowels)
# Neuer Wert
value.append(2)
print(vowels)

Wenn Sie das Programm ausführen, wird die Ausgabe wie folgt sein:

{'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 keys eine neue Liste aus value erstellt und ihr zugewiesen.

In der Hauptsache wird value nicht dem Element zugewiesen, sondern aus ihm eine neue Liste erstellt, die dann jedem Element im Dictionary zugewiesen wird.

Python-Dictionarymethoden