Maison > Article > développement back-end > Une revue rafraîchissante des bases du dictionnaire 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.
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 :
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.
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.
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
french_spanish
. J'ai compris? Voyons comment procéder en Python :
french_spanish[english_french['door']]
puerta
。这不是很好吗?尽管您没有英语-西班牙语词典,但您刚刚得到了西班牙语中的 door
Le résultat devrait être le mot
english_french
Dans 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
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
len(english_french)
5
Tu devrais revenir
La suppression des éléments du dictionnaire s'effectue via la touche door
. Par exemple, disons que nous souhaitons supprimer le mot (clé)
del english_french['door']
Cela supprimera la clé door
及其值porte
porte
.
La clé existe-t-elle dans le dictionnaire ?
door
。如果我们想检查 door
Dans la section précédente, nous avons supprimé la
english_french
du dictionnaire. Si on veut vérifier si
"Porte" dans False
not
devrait revenir
'door' 不在 english_french
Alors, que pensez-vous que la déclaration suivante va renvoyer ? Allez-y et essayez-le (note
english_french['door']
clé回溯(最近一次调用最后):
qui n'existe pas dans le dictionnaire ? Dites
文件“dictionary.py”,第 7 行,位于 <module></module>
打印 english_french['door']
Moyen
KeyError: 'door'
🎜🎜🎜🎜
Vous aurez peut-être besoin que la fonction english_french
词典的副本,并将其分配给另一个词典。这可以使用 copy()
soit simplement effectuée comme ceci :
new_english_french = english_french.copy()
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'}
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
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!