Getdefault do Python

Com que frequência você agrupou algo assim:

things_by_type = {}
for thing in things:
if thing.type not in things_by_type:
things_by_type
[thing.type] = list()
things_by_type
[thing.type].append(thing)

Felizmente, há uma maneira muito melhor de fazer isso
dict.setdefault. Veja isso:

things_by_type = {}
for t in things:
things_by_type
.setdefault(thing.t, list()).append(t)

O truque aqui é que setdefaultsó define o item se ele não
existir. Se existir, ele simplesmente retorna o item.

Retornar o item não é muito útil quando você está definindo um tipo primitivo como intou, strmas quando você está lidando com recipientes mutáveis ​​como listou setpara a lista, você pode acorrentar imediatamente o .appendou .adda eles.