So implementieren Sie ein Ein-Schlüssel-Mehrwertwörterbuch in Python

不言
Freigeben: 2018-10-11 14:20:53
nach vorne
4608 Leute haben es durchsucht

Der Inhalt dieses Artikels befasst sich mit der Implementierung eines Ein-Schlüssel-Mehrwertwörterbuchs. Ich hoffe, dass er für Freunde hilfreich ist.

1. Anforderungen

Wir wollen ein Wort, das Schlüssel mehreren Werten zuordnen kann (das sogenannte Ein-Schlüssel-Mehrwertwörterbuch)

2. Lösung

Ein Wörterbuch ist ein assoziativer Container, bei dem jeder Schlüssel einem separaten Wert zugeordnet ist. Wenn Sie möchten, dass ein Schlüssel mehreren Werten zugeordnet wird, müssen Sie diese mehreren Werte in einem anderen Container (Liste oder Satz) speichern.

Sie können ein Wörterbuch wie folgt erstellen:

d={
‘a’:[1,2,3],
'b':[4,5]
}
Nach dem Login kopieren

oder so:

d={
'a':{1,2,3},
'b':{4,5}
}
Nach dem Login kopieren

Ob Sie eine Liste oder einen Satz verwenden möchten, hängt ganz von der Absicht Ihrer Anwendung ab . Wenn Sie die Reihenfolge beibehalten möchten, in der Elemente eingefügt wurden, verwenden Sie eine Liste. Wenn Sie doppelte Elemente entfernen möchten (und sich nicht um deren Reihenfolge kümmern), verwenden Sie eine Menge.

Um ein solches Wörterbuch einfach zu erstellen, können Sie die Klasse defaultdict im Collections-Modul verwenden. Eine Funktion von defaultdict besteht darin, dass der erste Wert automatisch initialisiert wird, sodass Sie sich nur auf das Hinzufügen von Elementen konzentrieren müssen:

from collections import defaultdict
d=defaultdict(list)
d['a'].append(1)
d['a'].append(2)
d['b'].append(4)
print(d)
d=defaultdict(set)
d['a'].add(1)
d['a'].add(2)
d['b'].add(4)
print(d)
Nach dem Login kopieren

Ergebnis:

defaultdict(<class &#39;list&#39;>, {'a': [1, 2], 'b': [4]})
defaultdict(<class &#39;set&#39;>, {'a': {1, 2}, 'b': {4}})
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo implementieren Sie ein Ein-Schlüssel-Mehrwertwörterbuch in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage