Dans les versions Python antérieures à 3.6, l'ordre des clés dans les dictionnaires n'était pas garanti. Cela pourrait conduire à des résultats inattendus lors de l'itération sur un dictionnaire ou de l'accès à ses clés.
Pour comprendre le problème, considérons le code suivant :
d = {'a': 0, 'b': 1, 'c': 2} l = d.keys() print(l)
Dans cet exemple, la méthode key() renvoie une liste des clés du dictionnaire. Toutefois, l'ordre des clés dans la liste n'est pas garanti. Dans les versions Python 2.7 et antérieures, les clés étaient renvoyées dans l'ordre d'insertion. Cependant, à partir de Python 3.0, les clés étaient renvoyées dans un ordre arbitraire.
Cette incohérence peut être problématique si vous vous fiez à l'ordre des clés dans un dictionnaire. Par exemple, si vous utilisez un dictionnaire pour stocker les éléments d'une liste de courses, vous pouvez vous attendre à ce que les clés soient renvoyées dans l'ordre dans lequel vous les avez ajoutées au dictionnaire. Cependant, à partir des versions Python 3.0, cela n'est pas garanti.顺序的保证。以下Utilisez la fonction OrderedDict:
另一个选择是使用 fonction sorted() pour trier les clés par ordre croissant. Cependant, cela nécessite une étape supplémentaire et n’est pas toujours le comportement souhaité.from collections import OrderedDict d = OrderedDict([('a', 0), ('b', 1), ('c', 2)]) l = list(d.keys()) print(l) # ['a', 'b', 'c']
Pour les versions Python 3.6 et ultérieures, les dictionnaires conservent par défaut l'ordre d'insertion. Cependant, il est toujours recommandé d'utiliser OrderedDict si vous avez besoin d'un ordre d'insertion garanti dans différentes implémentations de Python.
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!