Il mio codice attualmente deve contare le cose in un dict
fortemente nidificato in un altro. Ho elementi che devono essere indicizzati da 3 valori e quindi contati. Così, prima che il mio ciclo, ho inizializzare una nidificato defaultdict
in questo modo:Altro modo Pythonic per contare le cose in un predefinito predefinito pesantemente nidificato
from collections import defaultdict
type_to_count_dic = defaultdict(
lambda: defaultdict(
lambda: defaultdict(int)
)
)
Il che mi permette di contare gli elementi all'interno di un loop stretto in questo modo:
for a in ...:
for b in ...:
for c in ...:
type_to_count_dic[a][b][c] += 1
Mi sento come l'inizializzazione di tutte quelle defaultdict
s sembra molto come fare una dichiarazione di tipo in qualcosa come Java. C'è un modo più idiomatico/pitonico di fare qualcosa del genere?