Le dictionnaire est une collection non ordonnée de valeurs de données en Python utilisée pour stocker des valeurs de données telles que des cartes. Le dictionnaire contient des paires clé-valeur au lieu de contenir une seule valeur en tant qu'élément comme les autres types de données. La clé implémentée dans le dictionnaire doit être unique et immuable. Autrement dit, le tuple Python peut être une clé, mais la liste Python ne peut pas être une clé dans le dictionnaire. Nous pouvons créer un dictionnaire en plaçant une séquence d'éléments entre les accolades {}, une virgule ',' peut séparer les valeurs.
Exemple 1:
Dict_1 = {1: 'A', 2: 'B', 3: 'C', 4: 'D'} print ('Dictionary: ') print (Dict_1) print ('key pair 1: ', Dict_1[1]) print ('key pair 3: ', Dict_1[3])
Sortir:
Dictionary: {1: 'A', 2: 'B', 3: 'C', 4: 'D'} key pair 1: A key pair 3: C
Mais si nous essayons d'imprimer la 5ème valeur clé, nous obtiendrons l'erreur car 'Dict_1' ne contient pas la 5ème valeur clé.
supprimer le dernier caractère de la chaîne
Exemple 2 :
Dict_1 = {1: 'A', 2: 'B', 3: 'C', 4: 'D'} print ('Dictionary: ') print (Dict_1) print ('key pair 5: ', Dict_1[5])
Sortir:
Dictionary: {1: 'A', 2: 'B', 3: 'C', 4: 'D'} --------------------------------------------------------------------------- KeyError Traceback (most recent call last) in 2 print ('Dictionary: ') 3 print (Dict_1) ----> 4 print ('key pair 5: ', Dict_1[5]) KeyError: 5
Chaque fois que le erreur de clé est soulevée, cela peut devenir un problème pour les utilisateurs. Nous pouvons surmonter cette erreur en utilisant un autre dictionnaire Python, qui ressemble à un conteneur appelé Défautdict . Les utilisateurs peuvent trouver ce dictionnaire dans le 'recueils' module.
dict par défaut
Le defaultdict est un dictionnaire de Python, qui ressemble à un conteneur présent à l'intérieur du module 'collections'. Il s'agit d'une sous-classe de la classe dictionnaire qui est utilisée pour renvoyer l'objet de type dictionnaire. defaultdict et le dictionnaire ont la même fonctionnalité, sauf que defaultdict ne génère jamais de KeyError car il fournit une valeur par défaut pour la clé, qui n'existe pas dans le dictionnaire créé par l'utilisateur.
Syntaxe:
defaultdict(default_factory)
Paramètres:
Exemple:
supprimer le fichier en java
from collections import defaultdict as DD # Function for returning a default values for the # keys which are not present in the dictionary def default_value(): return 'This key is not present' # Now, we will define the dict dict_1 = DD(default_value) dict_1['ABC'] = 1 dict_1['DEF'] = 2 dict_1['GHI'] = 3 dict_1['JKL'] = 4 print ('Dictionary: ') print (dict_1) print ('key pair 1: ', dict_1['ABC']) print ('key pair 3: ', dict_1['GHI']) print ('key pair 5: ', dict_1['MNO'])
Sortir:
Dictionary: defaultdict(, {'ABC': 1, 'DEF': 2, 'GHI': 3, 'JKL': 4}) key pair 1: 1 key pair 3: 3 key pair 5: This key is not present
Fonctionnement interne de defaultdict
Lorsque nous utilisons defaultdict, nous obtenons une variable d'instance inscriptible supplémentaire et une méthode en plus des opérations de dictionnaire standard. La variable d'instance inscriptible est le paramètre default_factory et __manquant__ est la méthode.
Exemple:
from collections import defaultdict as DD dict_1 = DD(lambda: 'This key is not present') dict_1['ABC'] = 1 dict_1['DEF'] = 2 dict_1['GHI'] = 3 dict_1['JKL'] = 4 print ('Dictionary: ') print (dict_1) print ('key value 1: ', dict_1['ABC']) print ('key value 3: ', dict_1['GHI']) print ('key value 5: ', dict_1['MNO'])
Sortir:
Dictionary: defaultdict(<function at 0x0000019efc4b58b0>, {'ABC': 1, 'DEF': 2, 'GHI': 3, 'JKL': 4}) key value 1: 1 key value 3: 3 key value 5: This key is not present </function>
Exemple:
from collections import defaultdict as DD dict_1 = DD(lambda: 'This key is not present') dict_1['ABC'] = 1 dict_1['DEF'] = 2 dict_1['GHI'] = 3 dict_1['JKL'] = 4 print ('Dictionary: ') print (dict_1) print ('key value 1: ', dict_1.__missing__('ABC')) print ('key value 4: ', dict_1['JKL']) print ('key value 5: ', dict_1.__missing__('MNO'))
Sortir:
jquery un clic
Dictionary: defaultdict(<function at 0x0000019efc4b5670>, {'ABC': 1, 'DEF': 2, 'GHI': 3, 'JKL': 4}) key value 1: This key is not present key value 4: 4 key value 5: This key is not present </function>
Comment utiliser « Liste » comme default_factory
Nous pouvons transmettre une classe de liste comme argument default_factory, et cela créera un defaultdict avec les valeurs définies au format liste.
Exemple:
from collections import defaultdict as DD # Defining a dictionary dict_1 = DD(list) for k in range(7, 12): dict_1[k].append(k) print ('Dictionary with values as list:') print (dict_1)
Sortir:
Dictionary with values as list: defaultdict(, {7: [7], 8: [8], 9: [9], 10: [10], 11: [11]})
Comment utiliser 'int' comme default_factory
Nous pouvons passer la classe int comme argument default_factory, et cela créera un defaultdict avec la valeur par défaut définie sur zéro.
Exemple:
from collections import defaultdict as DD # Defining the dict dict_1 = DD(int) J = [1, 2, 3, 4, 2, 4, 1, 2] # Now, we will iterate through the list 'J' # for keeping the count for k in J: # As, The default value is 0 # so we do not need to # enter the key first dict_1[k] += 1 print(dict_1)
Sortir:
defaultdict(, {1: 2, 2: 3, 3: 1, 4: 2})
Conclusion
Dans ce didacticiel, nous avons discuté de defaultdict en Python et de la manière dont nous pouvons effectuer différentes opérations sur defaultdict en utilisant le paramètre default_factory.