Explorer la distinction : Collections.defaultdict vs. Ordinary Dict
En Python, le dictionnaire par défaut (collections.defaultdict) diffère d'un dictionnaire régulier d'une manière cruciale. Alors qu'un dict standard génère une KeyError lors de l'accès à une clé inexistante, un defaultdict crée automatiquement l'élément manquant en appelant une fonction spécifiée.
Comprendre les exemples
Voyons examinez les exemples fournis :
d = defaultdict(int)
Ici, int() est la fonction par défaut, qui initialise le manquant clé avec une valeur entière (par défaut 0).
for k in s: d[k] += 1
Cette boucle parcourt chaque caractère (k) de la chaîne s et incrémente son nombre correspondant stocké dans le defaultdict.
d.items() dict_items([('m', 1), ('i', 4), ('s', 4), ('p', 2)])
En conséquence, nous obtenons un dictionnaire avec les fréquences des caractères.
Dans le second exemple :
d = defaultdict(list)
list() est la fonction par défaut, créant des listes vides par défaut pour les clés manquantes.
for k, v in s: d[k].append(v)
Cette boucle associe les clés et les valeurs de la liste et ajoute valeurs à la liste des clés correspondantes.
d.items() [('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
Le résultat est un dictionnaire où les clés sont des couleurs et les valeurs sont des listes de leurs valeurs correspondantes de l'original. liste.
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!