Maison  >  Article  >  développement back-end  >  Une revue rafraîchissante des bases du dictionnaire Python

Une revue rafraîchissante des bases du dictionnaire Python

王林
王林original
2023-09-03 20:09:021413parcourir

Python 字典基础知识的令人耳目一新的回顾

Dans un tutoriel précédent, j'ai discuté d'un type d'objet très polyvalent et flexible en Python, la list. Dans cet article, je vais continuer mon examen d'un autre type d'objet Python flexible appelé dictionnaire (également appelé tableau associatif ou hachage). Comme les listes, les dictionnaires sont un concept important à maîtriser pour avancer dans votre parcours Python.

Qu'est-ce qu'un dictionnaire ?

Si vous avez lu l'article Liste, vous comprendrez facilement le concept de dictionnaire. Elles ressemblent beaucoup aux listes, mais avec deux différences principales :

  1. Ce sont des ensembles non ordonnés (contrairement aux listes ordonnées).
  2. les clés sont utilisées pour accéder aux éléments plutôt qu'aux emplacements ( c'est-à-dire index).

Chaque clé du dictionnaire a une valeur, qui peut être n'importe quel type d'objet Python. Autrement dit, un dictionnaire peut être considéré comme des paires clé-valeur. Attention cependant, la clé 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 n'est qu'un ensemble non ordonné de paires clé-valeur. Utilisons ce concept pour créer notre premier exemple : un dictionnaire anglais-français. Le dictionnaire peut être créé comme suit :

english_french = {'paper':'papier', 'pen':'stylo', 'car':'voiture', 'table':'table','door':' porte'}

Dictionnaire english_french contient cinq mots anglais définis comme clés et leurs significations françaises définies comme valeurs.

Supposons que nous voulions savoir comment dire pen en français. Il ne nous reste plus qu'à :

english_french['pen']

Vous obtiendrez stylo comme valeur de retour.

Rendre les choses plus intéressantes

Supposons que nous ayons un dictionnaire french_spanish dont les mots sont les mêmes que ceux du dictionnaire french_spanish 词典,其单词与 english_french, comme ceci :

french_spanish = {'papier':'papel', 'stylo':'pluma', 'voiture':'coche', 'table':'mesa', 'porte':' puerta'}

Eh bien, quelqu'un vous a demandé comment dire door,而您手头没有英语-西班牙语词典!但是,不用担心,有一个解决方案。查阅您的 english_french 词典中的单词,然后使用结果查阅 french_spanish en espagnol, et vous n'avez pas de dictionnaire anglais-espagnol sous la main ! Mais ne vous inquiétez pas, il existe une solution. Recherchez le mot dans votre dictionnaire

, puis utilisez les résultats pour rechercher le dictionnaire french_spanish. J'ai compris? Voyons comment procéder en Python :

french_spanish[english_french['door']]

puerta。这不是很好吗?尽管您没有英语-西班牙语词典,但您刚刚得到了西班牙语中的 doorLe résultat devrait être le mot

.

Plus d'opérations de dictionnaire

english_frenchDans l'exemple précédent, nous avons vu comment créer un dictionnaire et accéder aux éléments du dictionnaire. Voyons ce que nous pouvons faire de plus avec les dictionnaires. J'utiliserai le dictionnaire

dans les exemples ci-dessous.

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

len()En d'autres termes, le but de cette opération est de renvoyer le nombre de paires clé-valeur dans le Dictionnaire. Cela peut être effectué à l'aide de l'opérateur

comme suit :

len(english_french)

5Tu devrais revenir

.

Supprimer la clé

La suppression des éléments du dictionnaire s'effectue via la touche door. Par exemple, disons que nous souhaitons supprimer le mot (clé)

du dictionnaire. Cela peut être fait simplement comme suit :

del english_french['door']

Cela supprimera la clé door 及其porte

et sa

valeur

porte.

La clé existe-t-elle dans le dictionnaire ? door。如果我们想检查 doorDans la section précédente, nous avons supprimé la

clé

english_french du dictionnaire. Si on veut vérifier si

existe toujours dans le dictionnaire, on tape :

"Porte" dans False

notdevrait revenir

.

'door' 不在 english_frenchAlors, que pensez-vous que la déclaration suivante va renvoyer ? Allez-y et essayez-le (note

).

english_french['door']

Que se passe-t-il si nous essayons d'accéder à une

clé回溯(最近一次调用最后): qui n'existe pas dans le dictionnaire ? Dites

. Dans ce cas, vous recevrez une erreur similaire à la suivante :

文件“dictionary.py”,第 7 行,位于 <module></module>

打印 english_french['door']

Moyen KeyError: 'door'

🎜🎜🎜🎜

Créer une copie du dictionnaire

Vous aurez peut-être besoin que la fonction english_french 词典的副本,并将其分配给另一个词典。这可以使用 copy() soit simplement effectuée comme ceci :

new_english_french = english_french.copy()

Dictionnaire imbriqué

Comme nous l'avons mentionné ci-dessus, les valeurs d'un dictionnaire peuvent être de n'importe quel type, y compris les dictionnaires. C'est ce qu'on appelle le nesting. Les exemples sont les suivants :

学生 = {'ID':{'name':'Abder-Rahman', 'number':'1234'}}

Donc, si vous tapez student['ID'], vous devriez obtenir :

{'name': 'Abder-Rahman', 'number': '1234'} 

Itérer le dictionnaire

Revenons au dictionnaire english_french. Vous pouvez parcourir les éléments d'un dictionnaire de plusieurs manières :

english_french 中的单词:

打印单词

Le résultat de cette déclaration est le suivant :

car

pen

paper

door

table

Notez que l'ordre des clés dans le résultat est différent de l'ordre dans le english_french dictionnaire. Vous pouvez maintenant comprendre pourquoi j'ai dit que les dictionnaires sont traités comme des collections non ordonnées.

Une autre façon de parcourir les clés est la suivante :

对于 english_french.iterkeys() 中的单词:

打印单词

Veuillez noter que nous avons utilisé iterkeys() 函数。类似的可用于迭代值的函数,即 itervalues() comme indiqué ci-dessous :

用于 english_french.itervalues() 中的含义:

打印含义

Le résultat dans cet exemple devrait ressembler à ceci :

voiture

stylo

papier

porte

table

Une alternative à la création d'un dictionnaire

Il existe d'autres façons d'utiliser dict 构造函数在 Python 中创建字典。使用 dict 创建相同词典 ID Quelques exemples sont les suivants :

ID = dict(name = 'Abder-Rahman', number = 1234)

ID = dict([('name','Abder-Rahman'),('number',1234)])

ID = dict(zip(['name','number'],['Abder-Rahman',1234])) # 键和值作为列表

Vous pouvez faire plus avec les dictionnaires. Consultez la documentation Python pour plus d'informations.

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!

Déclaration:
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