Maison >développement back-end >Tutoriel Python >Comment Python itère-t-il sur les clés du dictionnaire à l'aide d'une boucle « for » ?

Comment Python itère-t-il sur les clés du dictionnaire à l'aide d'une boucle « for » ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-29 14:12:13338parcourir

How Does Python Iterate Over Dictionary Keys Using a 'for' Loop?

Itérer sur des dictionnaires à l'aide de boucles « for » : déchiffrer le mécanisme de récupération de clés

La polyvalence de Python s'étend à sa capacité à parcourir des dictionnaires à l'aide de boucles « for ». Considérez le code suivant :

d = {'x': 1, 'y': 2, 'z': 3}

for key in d:
    print(key, 'corresponds to', d[key])

Ce code imprime les clés et les valeurs correspondantes du dictionnaire. Mais comment Python sait-il lire uniquement les clés ?

La nature de 'key'

Contrairement à une idée fausse, 'key' n'est pas un mot-clé réservé en Python. Il s'agit simplement d'un nom de variable utilisé dans la boucle 'for'. Python n'a pas de syntaxe spéciale pour accéder aux clés du dictionnaire.

Bouclage sur les clés uniquement

Lors d'une itération sur un dictionnaire à l'aide d'une boucle « for », Python 默认 parcourt les clés du dictionnaire. En effet, les dictionnaires sont implémentés sous forme de tables de hachage, où chaque clé est associée à une valeur unique. En itérant sur les clés, Python peut accéder aux valeurs correspondantes via la notation entre crochets du dictionnaire (d[key]).

Bouclage sur les clés et les valeurs

Si les deux des clés et des valeurs sont nécessaires dans la boucle, la syntaxe suivante est utilisée :

  • Pour Python 3.x :

    for key, value in d.items():
  • Pour Python 2.x :

    for key, value in d.iteritems():

Cependant, dans Python 3.x, les iteritems () a été remplacée par items() qui fournit une meilleure vue, semblable à celle d'un ensemble, soutenue par le dictionnaire.

Test du nom de la variable

Pour confirmer que 'key' est une variable régulière, on peut la remplacer par n'importe quel autre nom, par exemple 'poop' :

for poop in d:
    print(poop, 'corresponds to', d[poop])

Ce code produira le même résultat, démontrant que « clé » n'est pas un terme réservé.

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