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

Les dictionnaires Python sont-ils en ordre ?

silencement
silencementoriginal
2019-06-17 15:10:198484parcourir

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

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

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

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