La correspondance entre `keys()` et `values()` dans les dictionnaires Python est-elle garantie ?

Mary-Kate Olsen
Libérer: 2024-11-10 03:09:02
original
202 Les gens l'ont consulté

Is the Correspondence Between `keys()` and `values()` in Python Dictionaries Guaranteed?

Assurer la correspondance entre les clés et les valeurs du dictionnaire

Dans les dictionnaires Python, les méthodes clés() et valeurs() permettent d'accéder aux clés et valeurs dans le dictionnaire, respectivement. Il a été observé que les listes renvoyées par ces méthodes semblent maintenir un mappage un-à-un, où la i-ème clé de keys() correspond à la i-ème valeur de values().

Il est cependant important de vérifier si cette cartographie est toujours garantie. Plus précisément, si un dictionnaire n'est pas modifié entre l'appel de key() et de value(), pouvons-nous supposer qu'ils donneront toujours les listes correspondantes ?

Documentation officielle

La documentation des dictionnaires Python n'indique pas explicitement si l'ordre des clés() et des valeurs() est préservé. Cependant, cela fournit un indice :

d = {'un':1, 'deux' : 2, 'trois' : 3}
k, v = d. clés(), d.values()
pour je dans range(len(k)):
print d[k[i]] == v[i]
Copier après la connexion

True
True
True

Cet exemple illustre que lorsqu'aucune modification n'est apportée au dictionnaire entre l'appel de touches() et de valeurs(), la boucle for affiche systématiquement True, suggérant une correspondance entre les listes.

Observations supplémentaires

Pour confirmer cette observation, une recherche plus approfondie a été menée :

  • La documentation 2.x indique : "Si items(), key(),values(), iteritems(), iterkeys() et itervalues() sont appelés sans aucune modification intermédiaire du dictionnaire, le les listes correspondront directement. tant que le dictionnaire reste inchangé.
  • Conclusion

Sur la base de la documentation officielle et des observations empiriques, nous pouvons concluez que lorsque vous appelez touches() et valeurs() sur un dictionnaire Python sans apporter de modifications au dictionnaire entre les appels, vous pouvez vous fier à une correspondance biunivoque entre les listes de clés et de valeurs. Ce mappage fiable simplifie la manipulation du dictionnaire et garantit un comportement prévisible dans les scénarios de programmation courants.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal