Dans un précédent tutoriel, j’avais parlé d’un type d’objet très polyvalent et flexible en Python, à savoir: Des listes. Dans cet article, je poursuis mes actualisations avec un autre type d'objet Python flexible appelé Dictionnaires (aussi appelé tableaux associatifs ou hachage). A l'instar de la liste, le dictionnaire est un concept important à saisir pour progresser dans votre parcours en Python..
Si vous avez traversé le Des listes article, il sera facile de comprendre le concept de dictionnaires. Ils ressemblent beaucoup aux listes mais avec deux différences principales:
Chaque clé du dictionnaire a un valeur, qui pourrait être de n'importe quel type d'objet Python. C'est-à-dire que les dictionnaires peuvent être considérés comme valeur clé paires. Mais attention à ça clés ne peut pas être de type Liste ou Dictionnaire.
Comme nous l'avons vu dans la section précédente, un dictionnaire est simplement un ensemble non ordonné de paires clé-valeur. Utilisons ce concept pour créer notre premier exemple, un dictionnaire anglais-français. Ce dictionnaire peut être créé comme suit:
english_french = 'paper': 'papier', 'stylo': 'stylo', 'voiture': 'voiture', 'table': 'table', 'door': 'porte'
Le dictionnaire anglais français
contient cinq mots anglais définis comme clés avec leurs significations françaises définies comme valeurs.
Disons que nous voulions savoir comment dire stylo
en français. Nous faisons simplement ce qui suit:
english_french ['stylo']
où vous obtiendrez stylo
comme la valeur retournée.
Disons que nous avons eu un français_espagnol
Dictionnaire avec les mêmes mots que nous avions dans le anglais français
Dictionnaire, comme suit:
french_spanish = 'papier': 'papel', 'stylo': 'pluma', 'voiture': 'coche', 'table': 'mesa', 'porte': 'puerta'
Eh bien, on vous a demandé comment dire porte
en espagnol et vous n'avez pas de dictionnaire anglais-espagnol sous la main! Mais ne vous inquiétez pas, il existe une solution. Consultez votre anglais français
Dictionnaire pour le mot, puis utilisez le résultat pour consulter le français_espagnol
Dictionnaire. Vous avez le point? Voyons comment nous pouvons faire cela en Python:
french_spanish [english_french ['door']]
Le résultat devrait être puerta
. N'est-ce pas très gentil? Vous avez juste le mot pour porte
en espagnol bien que vous n'ayez pas de dictionnaire anglais-espagnol.
Dans l'exemple précédent, nous avons vu comment créer un dictionnaire et accéder aux éléments du dictionnaire. Voyons quelques opérations supplémentaires que nous pouvons effectuer sur les dictionnaires. Je vais utiliser le anglais français
Dictionnaire dans les exemples ci-dessous.
En d'autres termes, cette opération est censée renvoyer le nombre de paires clé-valeur dans le dictionnaire. Ceci peut être effectué en utilisant le len ()
opérateur, comme suit:
len (english_french)
Tu devrais obtenir 5
revenu.
La suppression d'un élément dans un dictionnaire est effectuée via le clés. Par exemple, supposons que nous voulions supprimer le mot (clé) porte
du dictionnaire. Ceci peut être simplement fait comme suit:
del english_french ['door']
Cela supprimera le clé porte
avec ses valeur porte
.
Dans la sous-section précédente, nous avons supprimé le clé porte
du dictionnaire. Si on veut vérifier si porte
existe toujours dans le dictionnaire ou pas, on tape:
'porte' en anglais
qui devrait retourner Faux
.
Ainsi, que pensez-vous que la déclaration suivante retournera? Allez-y et essayez-le (remarquez le ne pas
).
'porte' pas en francais
Qu'advient-il si nous essayons d'accéder à un clé qui n'existe pas dans un dictionnaire? Dire english_french ['door']
. Dans ce cas, vous obtiendrez une erreur similaire à celle-ci:
Traceback (appel le plus récent en dernier):
Fichier "dictionary.py", ligne 7, dans
print english_french ['door']
KeyError: 'porte'
Vous aurez peut-être besoin d'un copie de votre anglais français
Dictionnaire et attribuez-le à un autre dictionnaire. Ceci peut être fait simplement en utilisant le copie()
fonction, comme suit:
new_english_french = english_french.copy ()
Comme nous l'avons mentionné ci-dessus, les valeurs dans les dictionnaires peuvent être de n'importe quel type, y compris les dictionnaires. Ceci est appelé Nidification. Un exemple de ceci peut être comme suit:
étudiant = 'ID': 'nom': 'Abder-Rahman', 'numéro': '1234'
Ainsi, si vous tapez Carte d'étudiant']
, Tu devrais obtenir:
'nom': 'Abder-Rahman', 'numéro': '1234'
Revenons à la anglais français
Dictionnaire. Vous pouvez parcourir les éléments du dictionnaire de plusieurs façons:
pour mot en anglais_français:
mot d'impression
Le résultat de cette déclaration est le suivant:
voiture
stylo
papier
porte
table
Notez que le clés dans le résultat ne sont pas donnés dans le même ordre que dans le anglais français
Dictionnaire. Vous pouvez maintenant voir pourquoi j'ai dit que les dictionnaires sont considérés comme des ensembles non ordonnés.
Une autre façon de parcourir clés est comme suit:
pour mot dans english_french.iterkeys ():
mot d'impression
Notez que nous avons utilisé le iterkeys ()
une fonction. Une fonction similaire qui peut être utilisée pour parcourir les valeurs, à savoir itervalues ()
, est comme suit:
pour signification dans english_french.itervalues ():
signification d'impression
Le résultat dans ce cas devrait ressembler à ceci:
voiture
stylo
papier
porte
table
Il existe d'autres moyens de créer un dictionnaire en Python en utilisant le dict
constructeur. Quelques exemples de création du même dictionnaire ID
en utilisant dict
sont les suivants:
ID = dict (nom = 'Abder-Rahman', nombre = 1234)
ID = dict ([('nom', 'Abder-Rahman'), ('numéro', 1234)])
ID = dict (zip (['nom', 'numéro']], ['Abder-Rahman', 1234])) # clés et valeurs sous forme de listes
Vous pouvez faire plus avec les dictionnaires. Consultez la documentation de Python pour plus d'informations..