Maison > développement back-end > Tutoriel Python > Application du dictionnaire de valeurs par défaut en Python et comment utiliser defaultdict

Application du dictionnaire de valeurs par défaut en Python et comment utiliser defaultdict

王林
Libérer: 2023-04-23 11:52:07
avant
1245 Les gens l'ont consulté

En Python, defaultdict est un type spécial de dictionnaire qui peut définir automatiquement des valeurs par défaut pour les clés qui n'existent pas dans le dictionnaire. Les dictionnaires de ce type sont définis dans le module collections. Il nous fournit un dictionnaire plus pratique et plus facile à utiliser.

1. Importer defaultdict

Nous devons d'abord importer le module de collections contenant defaultdict. Ceci peut être réalisé en ajoutant la ligne de code suivante en haut de votre code Python :

from collections import defaultdict
Copier après la connexion

2. Créez un defaultdict

Créer un defaultdict est syntaxiquement identique à la création d'un dictionnaire Python. Il suffit d'utiliser le type de defaultdict comme paramètre du constructeur. Par exemple, si nous voulons créer un defaultdict qui stocke des entiers, nous pouvons utiliser le code suivant :

int_dict = defaultdict(int)
Copier après la connexion

Si nous voulons stocker des chaînes dans le defaultdict, nous pouvons utiliser le code suivant :

str_dict = defaultdict(str)
Copier après la connexion

Dans les deux cas, nous passons Le constructeur defaultdict transmet le type pour définir une nouvelle instance defaultdict. Ce type sera défini sur la valeur par défaut correspondante pour toutes les clés de defaultdict.

3. Utilisation de defaultdict

Lorsque vous essayez d'accéder à une clé de defaultdict, si la clé n'existe pas, la valeur par défaut correspondant au type passé au constructeur est automatiquement définie. Par exemple, dans le code ci-dessous, nous utilisons defaultdict pour stocker l'âge d'une personne et définissons la valeur par défaut sur 0 :

age_dict = defaultdict(int)
age_dict['alice'] = 25
age_dict['bob'] = 30
age_dict['charlie']
print(age_dict)
Copier après la connexion

Le résultat sera {‘alice’ : 25, «bob’ : 30, «charlie’ : 0}, lorsque «charlie’ n'est pas dans le dictionnaire par défaut, il est automatiquement rempli avec la valeur par défaut 0.

Dans cet exemple, nous avons ajouté deux clés au dictionnaire par défaut, «alice’ et «bob’, et avons directement interrogé une autre clé, «charlie’ Puisque «charlie’ n'existe pas dans le dictionnaire, defaultdict définit automatiquement la valeur correspondant à cette clé à la valeur par défaut du type correspondant passé dans le constructeur (dans ce cas, l'entier 0). On voit que c’est bien le résultat attendu.

4. Ajouter la valeur par défaut de defaultdict

Nous pouvons également définir une valeur par défaut en fournissant une fonction comme valeur par défaut à la fonction defaultdict. Cette fonction sera appelée si une clé est manquante dans le dictionnaire et renvoie la valeur par défaut souhaitée. Par exemple, nous pouvons définir une fonction qui prend une clé d'un dictionnaire comme valeur par défaut en utilisant le code suivant :

def return_key():
    return "unknown"

key_dict = defaultdict(return_key)
key_dict['apple'] = 'fruit'
print(key_dict['pear'])
print(key_dict['banana'])
Copier après la connexion

La sortie sera :

unknown
unknown

Dans cet exemple, nous avons défini une fonction return_key () , qui renvoie simplement "inconnu". Ensuite, nous créons un dictionnaire par défaut et le définissons en utilisant cette fonction comme valeur par défaut. Lorsque nous essayons d'accéder aux touches "poire" et "banane", nous obtenons la valeur par défaut "inconnu". Cependant, lorsque nous avons ajouté la clé « pomme » au dictionnaire, nous avons obtenu « fruit ».

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!

Étiquettes associées:
source:yisu.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal