Python-Standarddict und Lambda

In jemand anderen code, den ich Lesen Sie die folgenden zwei Zeilen:

x = defaultdict(lambda: 0)
y = defaultdict(lambda: defaultdict(lambda: 0))

Als argument defaultdict ist ein Standard-Werk, denke ich, die erste Zeile bedeutet, dass, wenn ich rufe x[k] für einen nicht vorhandenen Schlüssel k (z.B. eine Aussage wie: v=x[k]), der Schlüssel-Wert-paar (k,0) werden automatisch dem Wörterbuch Hinzugefügt, wenn die Anweisung x[k]=0 wird zuerst ausgeführt. Bin ich richtig?

Und was ist mit y? Es scheint, dass die Standard-factory erstellen Sie eine defaultdict mit Standardwert 0. Aber was bedeutet das konkret? Ich habe versucht zu spielen, um mit ihm in der Python-shell, aber konnte nicht herausfinden, was es genau ist.

InformationsquelleAutor der Frage user740006 | 2011-12-07

Schreibe einen Kommentar