Python possède un ensemble très utile de structures de données dans l'un de ses modules appelé collections. L'une de ces structures est un dictionnaire avec une valeur par défaut - defaultdict.
Lors de la création d'un defaultdict, nous pouvons passer une fonction lambda qui retournera une valeur par défaut pour les éléments manquants :
d = defaultdict(lambda: 'Cet élément n\'existe pas')
d['Anna'] = 10
d['Bob'] = 9
print(d['Bob']) # 9
print(d[999]) # Cet élément n'existe pas
Ici, Anna et Bob sont ajoutés aux clés du dictionnaire, mais 999 n'est pas présent, donc le programme affiche Cet élément n'existe pas.
Ceci est particulièrement utile lorsque l'on travaille avec des listes en tant que valeurs :
Étant donné n matchs de football entre des équipes et leurs adversaires, vous devez déterminer le nombre de matchs joués par chaque équipe.
La première ligne de l'entrée contient un entier n - le nombre de matchs. Les n lignes suivantes contiennent les noms des équipes qui ont joué l'une contre l'autre, séparés par un tiret (-). La ligne suivante contient les noms des clubs pour lesquels le programme doit afficher le nombre de matchs joués, séparés par des virgules (,).
Le programme doit afficher le nombre de matchs pour chacune des équipes demandées sur la dernière ligne de l'entrée, séparés par des espaces.
Input
Output
3
Real Madrid-Barcelona
Chelsea-Manchester United
Arsenal-Barcelona
Manchester United,Barcelona,Roma