Python · Intermediário · Inglês · Técnico
defaultdict
Subclasse de dict, do módulo collections, que cria automaticamente um valor padrão para chaves ausentes usando uma função fábrica, como list ou int.
Onde usar
Muito usado para agrupar itens ou contar ocorrências sem checar se a chave já existe. Evita o padrão repetitivo de if chave not in d.
Em código
from collections import defaultdict
grupos = defaultdict(list)
for p in ['ana', 'amy', 'bia']:
grupos[p[0]].append(p)
print(dict(grupos))Exemplos
Group the items with a defaultdict of lists.
Agrupe os itens com um defaultdict de listas.
Reading a missing key creates it in a defaultdict.
Ler uma chave inexistente a cria em um defaultdict.
Cuidado
Apenas ler uma chave ausente já a insere no dicionário, o que pode inflar os dados sem querer; use get ou in para só consultar.