Comprendre la signification de la fonction dict en Python en 3 minutes

Tomorin
Libérer: 2018-08-17 14:47:57
original
5516 Les gens l'ont consulté

Python a un dictionnaire intégré : prise en charge de dict, le nom complet de dict est dictionnaire, également appelé carte dans d'autres langues, en utilisant la touche- stockage de valeur (clé-valeur), avec une vitesse de recherche extrêmement rapide.

Par exemple, supposons que vous souhaitiez trouver les notes correspondantes en fonction des noms des camarades de classe. Si vous utilisez une liste pour la mettre en œuvre, vous avez besoin de deux listes :

names = ['Michael', 'Bob', 'Tracy']
scores = [95, 75, 85]
Copier après la connexion

Étant donné un nom. , vous souhaitez trouver les notes correspondantes, vous devez d'abord trouver la position correspondante dans les noms, puis récupérer les résultats correspondants à partir des scores. Plus la liste est longue, plus cela prendra du temps.

S'il est implémenté avec dict, seul un tableau de comparaison "nom" - "score" est nécessaire, et les résultats peuvent être directement recherchés en fonction du nom, quelle que soit la taille du tableau. , la vitesse de recherche ne ralentira pas. Utilisez Python pour écrire un dict comme suit :

>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95
Copier après la connexion

Pourquoi la recherche de dict est-elle si rapide ? Parce que le principe de mise en œuvre de dict est le même que celui de la recherche dans un dictionnaire. Supposons que le dictionnaire contienne 10 000 caractères chinois et que nous souhaitions rechercher un certain mot. Une solution consiste à retourner le dictionnaire à partir de la première page jusqu'à ce que nous trouvions le mot souhaité. Cette méthode consiste à rechercher les éléments les plus grands. la liste, plus la recherche est lente.

La deuxième méthode consiste à rechercher d'abord le numéro de page correspondant au mot dans la table d'index du dictionnaire (comme la table des radicaux), puis à se tourner directement vers la page pour trouver le mot. Quel que soit le mot que vous recherchez, cette vitesse de recherche est très rapide et ne ralentira pas à mesure que la taille du dictionnaire augmente.

dict est la deuxième méthode d'implémentation. Étant donné un nom, tel que 'Michael', dict peut calculer directement le "numéro de page" correspondant à la partition de Michael en interne, qui est la mémoire où le numéro 95 est stocké. l'adresse est retirée directement, donc la vitesse est très rapide.

Comme vous pouvez le deviner, avec cette méthode de stockage clé-valeur, lorsque vous la mettez, vous devez calculer l'emplacement de stockage de la valeur en fonction de la clé, de sorte que lorsque vous la récupérez, vous puissiez directement obtenir la valeur basée sur la clé.

En plus de spécifier la méthode lors de l'initialisation, vous pouvez également mettre les données dans dict par clé :

>>> d['Adam'] = 67
>>> d['Adam']
67
Copier après la connexion

Puisqu'une clé ne peut correspondre qu'à une seule valeur, plusieurs paires Lorsqu'une clé est mis dans une valeur, la valeur suivante éliminera la valeur précédente :

>>> d['Jack'] = 90
>>> d['Jack']
90
>>> d['Jack'] = 88
>>> d['Jack']
88
Copier après la connexion

Si la clé n'existe pas, dict signalera une erreur :

>>> d['Thomas']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: &#39;Thomas&#39;
Copier après la connexion

Pour éviter la clé n'existe pas Il existe deux façons de résoudre l'erreur. La première consiste à juger si la clé existe via :

>>> &#39;Thomas&#39; in d
False
Copier après la connexion


.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!