Maison > développement back-end > Tutoriel Python > Defaultdict vs Regular Dictionary : Quand devriez-vous utiliser un « defaultdict » ?

Defaultdict vs Regular Dictionary : Quand devriez-vous utiliser un « defaultdict » ?

Susan Sarandon
Libérer: 2024-12-03 18:30:12
original
613 Les gens l'ont consulté

Defaultdict vs. Regular Dictionary: When Should You Use a `defaultdict`?

Defaultdict vs. Regular Dictionary : Comprendre la distinction

Les dictionnaires intégrés de Python sont des structures de données fondamentales qui stockent des paires clé-valeur. Cependant, le type defaultdict offre une fonctionnalité unique qui le distingue des dictionnaires classiques.

Différence clé : suppression des exceptions KeyError

Lors de l'accès à une clé inexistante dans un dictionnaire normal, vous rencontrerez une exception KeyError. En revanche, les defaultdicts offrent un moyen de gérer efficacement de tels scénarios en créant automatiquement une entrée par défaut pour la clé manquante.

Création d'éléments par défaut

Pour contrôler le type de valeur par défaut élément créé, vous spécifiez un objet « appelable » comme argument du constructeur defaultdict. Par exemple, les deux exemples de la documentation Python :

  • Dans le premier exemple, l'objet defaultdict est initialisé avec int comme appelable, il génère donc des objets entiers (0) comme éléments par défaut.
  • Dans le deuxième exemple, l'objet defaultdict utilise list comme appelable, ce qui donne des listes vides par défaut items.

Exemples de création d'éléments par défaut :

Considérez les extraits de code suivants :

import collections

# Create a defaultdict with initial values set to 0
s = 'mississippi'
d = collections.defaultdict(int)
for char in s:
    d[char] += 1
print(d)  # Output: {'m': 1, 'i': 4, 's': 4, 'p': 2}

# Create a defaultdict with initial values as empty lists
colors = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = collections.defaultdict(list)
for color, count in colors:
    d[color].append(count)
print(d)  # Output: {'blue': [2, 4], 'red': [1], 'yellow': [1, 3]}
Copier après la connexion

En comprenant la différence entre les defaultdicts et des dictionnaires réguliers, vous pouvez tirer parti de la capacité de defaultdict à gérer efficacement les clés manquantes dans vos applications Python.

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