Une mise à jour en douceur sur les dictionnaires de Python

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..

Qu'est-ce qu'un dictionnaire quand même??

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: 

  1. Ce sont des ensembles non ordonnés (contrairement aux listes qui sont ordonnées).
  2. Les clés sont utilisées pour accéder aux éléments et non à une position (c'est à dire. indice).

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.

Créons un dictionnaire anglais-français

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.

Rendre les choses plus intéressantes

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.

Plus d'opérations sur les dictionnaires

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.

Combien y a-t-il d'entrées dans le dictionnaire?

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.

Suppression d'une clé

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.

La clé existe-t-elle dans le dictionnaire??

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'

Créer une copie de votre dictionnaire

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 ()

Dictionnaires imbriqués

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' 

Itérer sur un dictionnaire

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

Méthodes alternatives de création de dictionnaires

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..