Malgré l'examen des exemples de la documentation Python, la clarification des subtilités de la méthode defaultdict reste insaisissable. Explorons ces exemples plus en détail et déchiffrons le but des paramètres int et list.
Dans le premier exemple :
from collections import defaultdict s = 'mississippi' d = defaultdict(int) for k in s: d[k] += 1
Le defaultdict crée un mappage où chaque caractère de la chaîne s correspond à un entier. Le paramètre int indique que lorsqu'un nouveau caractère est rencontré dans la chaîne, la valeur par défaut qu'il prend est 0. Cela se voit dans le résultat :
d.items() # dict_items([('m', 1), ('i', 4), ('s', 4), ('p', 2)])
Dans le deuxième exemple :
s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)] d = defaultdict(list) for k, v in s: d[k].append(v)
Le defaultdict crée un mappage où chaque touche (qui est une couleur) correspond à une liste. Le paramètre list indique que lorsqu'une nouvelle couleur est rencontrée, la valeur par défaut qu'elle prend est une liste vide. Cela se voit dans le résultat :
d.items() # [('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
Par conséquent, les paramètres int et list dans defaultdict spécifient le type d'objet par défaut créé lors de l'accès à une nouvelle clé. Dans le premier exemple, les nouveaux caractères de la chaîne sont mappés à 0 et dans le deuxième exemple, les nouvelles couleurs sont mappées à des listes vides.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!