Maison  >  Article  >  développement back-end  >  Les dictionnaires en Python sont-ils ordonnés ?

Les dictionnaires en Python sont-ils ordonnés ?

silencement
silencementoriginal
2019-06-12 15:11:239308parcourir

Les dictionnaires en Python sont-ils ordonnés ?

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.

Le dictionnaire en Python3 est commandé

>>> 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