Heim > Artikel > Backend-Entwicklung > Verwendung von Defaultdict- und Lambda-Ausdrücken in Python
Dieser Artikel stellt hauptsächlich die Verwendung von Defaultdict- und Lambda-Ausdrücken in Python vor. Ich werde ihn hier mit Ihnen teilen. Freunde, die ihn benötigen, können darauf verweisen.
Dieser Artikel erklärt die Verwendung von Defaultdict- und Lambda-Ausdrücken in Python mit Beispielen. Geben Sie es als Referenz an alle weiter. Die Details lauten wie folgt:
Im Tutorial habe ich gesehen, dass defaultdict eine Klasse ist, aber wenn ich sie auf einem Computer mit Python 2.7.6 verwende, stelle ich fest, dass es so ist existiert nicht. Ich habe die Dokumentation durchsucht, konnte sie aber nicht finden und ging daher davon aus, dass dies möglicherweise exklusiv für Python 3.X ist. Denn das Tutorial basiert auf Python 3.X. Später bin ich auf einen Computer mit Python 3.X umgestiegen und hatte immer noch das Problem.
Ich habe mich im Internet umgesehen und festgestellt, dass es sich bei dieser Klasse tatsächlich um eine Klasse im Sammlungsmodul handelt. Es scheint schwierig zu sein, die Online-Lernumgebung loszuwerden!
Diese Klasse ist eine Unterklasse von dict, die eine Methode überschreibt und eine Ereignisvariable hinzufügt. Zum Zeitpunkt der Instanziierung wird der Initialisierungsfunktion von default_factory der erste Parameter bereitgestellt. Dieser Parameter kann ein Typ oder eine Funktion sein. Was den Typ betrifft, ist er nicht schwer zu verstehen. Tatsächlich handelt es sich bei Typen im Grunde um Fabrikfunktionen. Manchmal möchten wir diese Methode jedoch verwenden, um eine Konstante zu übergeben. In diesem Fall müssen wir eine konstante Funktion separat entwerfen oder Lambda-Ausdrücke direkt verwenden.
Sehen Sie sich zunächst die folgende Demonstration an:
>>> fromcollections import defaultdict >>> c1 =defaultdict(int) >>>c1.get(123) >>>c1.get('abc') >>> defConst(): return 23 >>> c2 =defaultdict(Const) >>>c2.get(123) >>> c2 defaultdict(<functionConst at 0x000001D7E26F58C8>, {}) >>>c2[123] 23 >>>c2['abc'] 23 >>>c1[123] 0
Wie aus dem Obigen ersichtlich ist, kann diese Methode für ein Wörterbuch verwendet werden Ein nicht vorhandener Schlüssel gibt automatisch einen Standardwert an. Die obige Methode kann natürlich erkennen, dass der Wert eine Konstante ist, aber die Verwendung von Lambda kann den Code prägnanter machen:
>>> c3 =defaultdict(lambda :123) >>>c3[12] 123
In der letzten Begegnung Sicherlich In Verwendungsszenarien kann diese Methode den Code erheblich vereinfachen und hat nach der Eingewöhnung keine Auswirkungen auf die Lesbarkeit des Codes.
Verwandte Empfehlungen:
Eine einfache Einführung in das Defaultdict-Modul und das Namedtuple-Modul in Python
Das obige ist der detaillierte Inhalt vonVerwendung von Defaultdict- und Lambda-Ausdrücken in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!