Maison > développement back-end > Tutoriel Python > Defaultdict vs Regular Dictionary : quand et pourquoi utiliser les paramètres « int » et « list » ?

Defaultdict vs Regular Dictionary : quand et pourquoi utiliser les paramètres « int » et « list » ?

Susan Sarandon
Libérer: 2024-12-06 21:19:12
original
209 Les gens l'ont consulté

Defaultdict vs. Regular Dictionary: When and Why Use `int` and `list` Parameters?

defaultdict vs. Regular Dictionary

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
Copier après la connexion

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)])
Copier après la connexion

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)
Copier après la connexion

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])]
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal