Der Zuordnungstyp ist eine iterierbare Kombination von Schlüsselwert-Datenelementen, die Methoden für den Zugriff auf Datenelemente und deren Schlüssel und Werte bereitstellt. In Python3 werden zwei ungeordnete Zuordnungstypen unterstützt: integriertes Diktat und Collections.defaultdict-Typ die Standardbibliothek.
Nach Python3.1 wurde auch ein geordneter Zuordnungstyp eingeführt: Sammlungen.OrderedDict.
Verwandte Empfehlungen: „Python-Video“
Funktionen:
1. Als Schlüssel können in Kartentypen nur Hash-Objekte verwendet werden, daher können integrierte feste Datentypen alle als Schlüssel verwendet werden in Mapping-Typen (alle integrierten festen Datentypen können derzeit gehasht werden): int, float, complex, bool, str, tuple, Frozenset; Schlüssel kann ein beliebiges Objekt sein;
3. Der Zuordnungstyp ist auch iterierbar.
4. Zuordnungstypen können mithilfe von Vergleichsoperatoren, Zugehörigkeitsoperatoren in/nicht in und der integrierten Funktion len() verglichen werden.
1.dict (Wörterbuch) Der Diktatdatentyp ist ein ungeordneter, veränderlicher kombinierter Datentyp, der 0 -n Schlüsselwerte enthält Bei Paaren ist der Schlüssel ein Verweis auf ein hashbares Objekt und der Wert kann auf einen Verweis auf ein beliebiges Objekt verweisen. Da es sich bei dem Schlüssel um eine hashbare Objektreferenz handelt, ist die Eindeutigkeit des Schlüssels gewährleistet, da das Diktat veränderbar ist. Da das Diktat ungeordnet ist, können Datenelemente hinzugefügt und daraus entfernt werden. Es gibt keinen Index und es kann auch nicht bedient werden mit dem Sharding-Operator.
Erstellung eines Wörterbuchs1.dict() kann als Funktion aufgerufen werden und ein leeres Diktat wird erstellt:
>>> dict() {} >>>
dict() Wenn ein Zuordnungstypparameter übergeben wird, wird ein auf dem Parameter basierendes Wörterbuch zurückgegeben, z. B.:
>>> d1 = {"key1":"value1","key2":"value2"} >>> dict(d1) {'key1': 'value1', 'key2': 'value2'} >>>
dict() kann auch Sequenztypparameter akzeptieren, jedoch nur, wenn jedes Datenelement in der Sequenz selbst vorhanden ist Eine Sequenz, die zwei Objekte enthält, das erste wird als Schlüssel und das zweite als Wert verwendet, wie zum Beispiel:
>>> d1 = dict((("k1","v1"),("k2","v2"))) #使用元组创建 >>> d1 {'k1': 'v1', 'k2': 'v2'} >>> >>> d1 = dict([("k1","v1"),("k2","v2")]) #使用序列创建 >>> d1 {'k1': 'v1', 'k2': 'v2'} >>>
dict() kann auch mit Schlüsselwortparametern erstellt werden, wobei der Schlüssel als verwendet wird ein Schlüsselwort. Der Wert wird als Wert des Schlüsselworts verwendet, z. B.:
>>> dict(id=1,name="zhangsan",age=23) {'id': 1, 'name': 'zhangsan', 'age': 23} >>>
Hinweis: Das Schlüsselwort muss eine gültige Python-ID sein
2. Verwenden Sie geschweifte Klammern, um ein Diktat zu erstellen. empty {} erstellt ein leeres Diktat. Ein nicht leeres Diktat besteht aus mehreren Elementen, jedes Element wird durch ein Komma getrennt und jedes Element wird in der Form K:V erstellt, z. B.:
>>> dict2 = {"name":"kobe","age":33,"num":24} >>> dict2 {'name': 'kobe', 'age': 33, 'num': 24} >>>
3. Verwenden Sie die Wörterbuchkonnotation, um ein Wörterbuch zu erstellen
Standarddict ist eine Unterklasse von dict, die alle Operationen und Methoden von dict unterstützt. Der Unterschied zum Diktat besteht darin, dass beim Abrufen des Werts über dict[x] eine KeyError-Ausnahme auftritt, wenn das Diktat keinen bestimmten Schlüssel enthält. Wenn es sich jedoch um ein Standarddikt handelt, wird ein neues Element mit dem Schlüssel und dem Standardwert erstellt Wert.
2.collections.defaultdict (Standardwörterbuch)
Sammlungen erstellen.defaultdictErstellen Sammlungen.defaultdict, über Sammlungen.defaultdict() gibt es zwei Möglichkeiten, gemäß den Parametern zu erstellen:
* 1. Verwenden Sie den Parametertyp zum Erstellen:
>>> import collections >>> cd1 = collections.defaultdict(int) >>> cd2 = collections.defaultdict(list) >>> cd3 = collections.defaultdict(str) >>> cd1["x"] 0 >>> cd2["x"] [] >>> cd3["x"] '' >>>
Hier int, Liste , str, ihre Standardwerte sind 0, [], „
* 2. Verwenden Sie den Funktionsnamen zum Erstellen:
>>> def name(): return 'zhangsan' >>> cd4 = collections.defaultdict(name) >>> cd4["x"] 'zhangsan' >>>
Auf diese Weise können Sie den Standardwert festlegen Standardwörterbuch Flexibler.
Es ist zu beachten, dass „collections.defaultdict()“ keine Parameter oder „Keine“ übergeben kann. Wenn dies der Fall ist, wird der Standardwert jedoch nicht unterstützt, z. B.:
>>> cd5 = collections.defaultdict() >>> cd5["x"] Traceback (most recent call last): File "<pyshell#254>", line 1, in <module> cd5["x"] KeyError: 'x' >>>
Mit „collections.defaultdict“ können die Methoden „get(k,v)“ und „setdefault()“ in dict ersetzt werden. >OrderedDict ist eine dict-Unterklasse, die alle dict-Methoden unterstützt und sich die Reihenfolge merkt, in der Schlüssel eingefügt werden , die ursprüngliche Einfügeposition bleibt unverändert und wird an das Ende verschoben 🎜>
class collections.OrderedDict([items])
from collections import OrderedDict d = {'banana': 3, 'apple': 4} od1 = OrderedDict({'banana': 3, 'apple': 4}) od2 = OrderedDict({'apple': 4, 'banana': 3}) print(od1 == od2) print(od1 == d)
FalseTrue
OrderedDict.popitem(last=True)
from collections import OrderedDict od1 = OrderedDict({'banana': 3, 'apple': 4}) od1.popitem(False) print(od1)
OrderedDict([('apple', 4)])
od1 = OrderedDict({'banana': 3, 'apple': 4}) od1['banana'] = 5print(od1)
Das obige ist der detaillierte Inhalt vonVerwandte Einführung in Python-Zuordnungstypen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!