Lors de la récupération des clés d'un dictionnaire à l'aide de la méthode keys() dans les versions Python antérieures à 3.7, l'ordre de les clés de la liste renvoyée peuvent sembler arbitraires. Cette imprévisibilité découle de la façon dont Python gérait les dictionnaires dans les versions précédentes.
À partir de Python 3.7, les dictionnaires conservent l'ordre d'insertion par défaut. Cela signifie que les clés de la liste de sortie keys() correspondront à l'ordre dans lequel elles ont été insérées dans le dictionnaire.
Dans Python 3.6 (en particulier l'implémentation CPython ), les dictionnaires conservent également par défaut l'ordre d'insertion. Cependant, ceci est considéré comme un détail d'implémentation et sa fiabilité dans les différentes implémentations de Python n'est pas garantie.
Pour les versions de Python comprises entre 2.7 et 3.6, l'ordre des clés dans la liste keys() est déterminé par une fonction de hachage. La stabilité de cette fonction de hachage n'est pas garantie, donc l'ordre des clés peut varier entre les exécutions, même avec les mêmes données d'entrée.
Pour garantir l'ordre d'insertion dans ces versions antérieures de Python, vous devez utiliser les collections. Classe OrderedDict. Cette classe garantit que les clés seront récupérées dans l'ordre dans lequel elles ont été insérées :
import collections d = collections.OrderedDict({'a': 0, 'b': 1, 'c': 2}) l = d.keys() print(l) # 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!