Klasa collections.defaultdict przyjmuje domyślną fabrykę, służącą do generowania wartości domyślnej.
Jeśli wartości zawarte w dictpodobnym obiekcie powinny mieć wartość domyślną False, instancję można utworzyć jako:
d_false = defaultdict(bool)
Jaki jest najbardziej pytonowy sposób osiągnięcia tego samego dla wartości domyślnej True ?
Innymi słowy, czy jest zwracany standardowy obiekt na żądanie True który jest idiomatycznie używany jako krewny bool?
Oczywiście fabrykę można zbudować jako wyrażenie lambda:
d_true = defaultdict(lambda: True)
ale to może być wynalezienie koła na nowo.
int() == 0, list() == [], str() == '', itd. Więc nie sądzę, jest to standardowy sposób to zrobić.
lambda: valueKonstrukt jest idiomatyczne pythonowy sposób skonstruować dict ze statycznym wartości domyślnej; Nie znam prostszego sposobu na zwrócenie funkcji True.
object()być prawdą - nie jestem pewien, czy to jest przydatne
lambda: Truejest w porządku, o ile nie musisz marynować tego domyślnego nakazu.