Dictionary mit mehreren Werten in Python
- Verwenden einer benutzerdefinierten Funktion zum Hinzufügen mehrerer Werte zu einem Schlüssel in einem Dictionary
-
Verwenden Sie das Modul
defaultdict
, um einem Schlüssel in einem Dictionary mehrere Werte hinzuzufügen -
Verwenden Sie die Methode
setdefault()
, um einem bestimmten Schlüssel in einem Dictionary mehrere Werte hinzuzufügen
Ein Dictionary in Python stellt eine Gruppe von Elementen in Form von Schlüssel-Wert-Paaren dar. Normalerweise haben wir einzelne Werte für einen Schlüssel in einem Dictionary.
Wir können jedoch die Werte für Schlüssel als Sammlung wie eine Liste haben. Auf diese Weise können wir mehrere Elemente im Dictionary für einen bestimmten Schlüssel haben.
Zum Beispiel,
d = {"a": [1, 2], "b": [2, 3], "c": [4, 5]}
print(d)
Ausgabe:
{'a': [1, 2], 'b': [2, 3], 'c': [4, 5]}
In diesem Tutorial werden verschiedene Methoden zum Anhängen mehrerer Werte als Liste in einem Dictionary in Python erläutert.
Verwenden einer benutzerdefinierten Funktion zum Hinzufügen mehrerer Werte zu einem Schlüssel in einem Dictionary
Wir können eine Funktion zum Anhängen von Schlüssel-Wert-Paaren in einem Dictionary erstellen, wobei der Wert eine Liste ist.
Zum Beispiel,
def dict1(sample_dict, key, list_of_values):
if key not in sample_dict:
sample_dict[key] = list()
sample_dict[key].extend(list_of_values)
return sample_dict
word_freq = {
"example": [1, 3, 4, 8, 10],
"for": [3, 10, 15, 7, 9],
"this": [5, 3, 7, 8, 1],
"tutorial": [2, 3, 5, 6, 11],
"python": [10, 3, 9, 8, 12],
}
word_freq = dict1(word_freq, "tutorial", [20, 21, 22])
print(word_freq)
Ausgabe:
{'example': [1, 3, 4, 8, 10], 'for': [3, 10, 15, 7, 9], 'this': [5, 3, 7, 8, 1], 'tutorial': [2, 3, 5, 6, 11, 20, 21, 22], 'python': [10, 3, 9, 8, 12]}
Beachten Sie, dass wir im obigen Code eine Funktion dict1
mit sample_dict
, key
und list_of_values
als Parameter innerhalb der Funktion erstellt haben. Die Funktion extend()
hängt eine Liste als Wert für einen Schlüssel im Dictionary an.
Verwenden Sie das Modul defaultdict
, um einem Schlüssel in einem Dictionary mehrere Werte hinzuzufügen
defaultdict
ist ein Teil des Sammlungsmoduls. Es ist auch eine Unterklasse der dict
-Klasse, die Dictionaryähnliche Objekte zurückgibt. Für einen nicht vorhandenen Schlüssel wird ein Standardwert angegeben.
Sowohl defaultdict
als auch dict
haben die gleiche Funktionalität, außer dass defaultdict
nie einen keyerror
auslöst.
Wir können es verwenden, um eine Sammlung von Tupeln in ein Dictionary zu konvertieren. Wir werden den Standardwert als Liste angeben. Immer wenn derselbe Schlüssel gefunden wird, wird der Wert als Liste angehängt.
Zum Beispiel,
from collections import defaultdict
s = [("rome", 1), ("paris", 2), ("newyork", 3), ("paris", 4), ("delhi", 1)]
d = defaultdict(list)
for k, v in s:
d[k].append(v)
sorted(d.items())
print(d)
Ausgabe:
defaultdict(<class 'list'>,
{'rome': [1],
'paris': [2, 4],
'newyork': [3],
'delhi': [1]
})
Verwenden Sie die Methode setdefault()
, um einem bestimmten Schlüssel in einem Dictionary mehrere Werte hinzuzufügen
Die Methode setdefault()
wird verwendet, um Standardwerte für den Schlüssel zu setzen. Wenn der Schlüssel vorhanden ist, gibt er einen Wert zurück. Andernfalls wird der Schlüssel mit einem Standardwert eingefügt. Der Standardwert für den Schlüssel ist none.
Wir werden die Liste mit dieser Methode als Werte für Schlüssel anhängen.
Zum Beispiel,
s = [("rome", 1), ("paris", 2), ("newyork", 3), ("paris", 4), ("delhi", 1)]
data_dict = {}
for x in s:
data_dict.setdefault(x[0], []).append(x[1])
print(data_dict)
Ausgabe:
{'rome': [1], 'paris': [2, 4], 'newyork': [3], 'delhi': [1]}
Verwandter Artikel - Python Dictionary
- Wie man prüft, ob ein Schlüssel in einem Dictionary in Python vorhanden ist
- Konvertieren eines Dictionaries in eine Liste in Python
- So erhalten Sie alle Dateien eines Verzeichnisses
- Wie finde ich den Maximalwert im Python-Dictionary
- Wie man ein Python-Dictionary nach Wert sortiert
- Wie man zwei Wörterbücher in Python 2 und 3 zusammenführen kann