Maison >développement back-end >Tutoriel Python >Comment préserver l'ordre des clés dans les dictionnaires Python ?
Dans les anciennes versions de Python, l'ordre des clés dans les dictionnaires était souvent imprévisible. Cela pourrait entraîner de la confusion et des résultats incohérents lors de l'accès aux données.
Avant Python 3.6, l'ordre des clés dans les dictionnaires était déterminé par la valeur de hachage des clés. Cela signifiait que l’ordre des clés pouvait changer au fil du temps, même si les valeurs restaient les mêmes. Par exemple, dans le bloc de code que vous avez fourni :
d = {'a': 0, 'b': 1, 'c': 2} l = d.keys() print(l)
L'ordre des clés dans la liste résultante l est ['a', 'c', 'b']. Cet ordre n'est pas garanti et pourrait changer dans les futures itérations de la boucle.
Pour garantir que l'ordre des clés est maintenu, plusieurs approches peut être utilisé :
Depuis Python 3.7, les dictionnaires conservent l'ordre d'insertion par défaut. Cela signifie que vous pouvez compter sur la préservation de l'ordre des clés.
Pour l'implémentation CPython de Python 3.6, les dictionnaires maintiennent également ordre d'insertion par défaut. Cependant, ce comportement est spécifique à l'implémentation et n'est pas garanti dans les différentes implémentations de Python.
Pour appliquer l'ordre des clés dans les versions de Python antérieures à 3.6 , vous pouvez utiliser la classe collections.OrderedDict. Cette classe préserve spécifiquement l'ordre des clés au fur et à mesure de leur insertion :
from collections import OrderedDict d = OrderedDict({'a': 0, 'b': 1, 'c': 2}) print(list(d.keys())) # Output: ['a', 'b', 'c']
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!