Maison > développement back-end > Tutoriel Python > Les dictionnaires Python sont-ils en ordre ?

Les dictionnaires Python sont-ils en ordre ?

silencement
Libérer: 2019-06-19 09:09:49
original
8457 Les gens l'ont consulté

Les dictionnaires Python sont-ils en ordre ?

Le désordre du dictionnaire signifie que l'ordre dans lequel les données sont stockées dans le dictionnaire est incompatible avec l'ordre dans lequel les données sont extraites du dictionnaire

Le dictionnaire de Python2 est désordonné

>>> d = {'a':-1,'b':-1,'c':-1}>>> d
{'a': -1, 'c': -1, 'b': -1}>>> for k,v in d.items():
...     print k,v
... 
a -1c -1b -1
Copier après la connexion

Alors comment garder le dictionnaire en ordre ? Utilisation de OrderedDict

>>> from collections import OrderedDict
>>> d = OrderedDict()
>>> d['a'] = 1
>>> d['b'] = 2
>>> d['c'] = 3
>>> d
OrderedDict([('a', 1), ('b', 2), ('c', 3)])
>>> for k,v in d.items():
...     print k,v
... 
a 1
b 2
c 3
Copier après la connexion

Pourquoi n'est-il pas ordonné ? La structure de hachage aura une adresse principale et les données qu'elle contient seront dispersées dans différentes chaînes de listes, elle semble donc désordonnée. Cependant, pour le même ensemble de dictionnaires, il y a toujours un identifiant à connecter, donc lors de la lecture, elles seront également stockées sous forme de données. Les données sont prises dans l'ordre, mais ne sont pas organisées selon des règles spécifiques.

Les dictionnaires en Python3 sont commandés

>>> d = {'a':-1,'b':-1,'c':-1}
>>> d
{'a': -1, 'b': -1, 'c': -1}
>>> for k,v in d.items():
...     print(k,v)
... 
a -1
b -1
c -1
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