Python tem um conjunto muito útil de estruturas de dados em um de seus módulos chamado collections. Uma dessas estruturas é um dicionário com um valor padrão - defaultdict.
Ao criar um defaultdict, podemos passar uma função lambda que retorna um valor padrão para elementos ausentes:
d = defaultdict(lambda: 'This item does not exist')
d['Anna'] = 10
d['Bob'] = 9
print(d['Bob']) # 9
print(d[999]) # This item does not exist
Aqui, Anna e Bob são adicionados às chaves do dicionário, mas 999 não está presente, então o programa imprime This item does not exist.
Isso é especialmente útil ao lidar com listas como valores:
Dadas n partidas entre times de futebol e seus oponentes, você deve descobrir o número de partidas que cada time jogou.
A primeira linha da entrada contém um único inteiro n - o número de partidas. As próximas n linhas contêm nomes de times que jogaram entre si, separados por um hífen (-). A linha seguinte contém os nomes dos clubes para os quais o programa deve imprimir o número de partidas jogadas, separados por vírgula (,).
O programa deve imprimir os números de partidas para cada um dos times solicitados na última linha da entrada, separados por espaços.
Entrada
Saída
3
Real Madrid-Barcelona
Chelsea-Manchester United
Arsenal-Barcelona
Manchester United,Barcelona,Roma