Maison >développement back-end >Tutoriel Python >Comment puis-je créer une collection triée et ordonnée à partir d'un dictionnaire Python ?
Tri d'un dictionnaire par clé : acquisition d'une collection ordonnée
La nature intrinsèque des dictionnaires de Python n'est pas ordonnée, sauf introduction de Python 3.7. Bien que le tri des paires (clé, valeur) puisse apparaître comme une solution, il est crucial de reconnaître qu'il n'est pas possible de conserver l'ordre de tri lors du stockage des éléments dans un dictionnaire.
Pour établir de manière transparente une collection ordonnée basée sur valeurs clés, l’utilisation de la classe OrderedDict prévaut comme approche optimale. Cette classe possède la capacité unique de conserver la séquence d'insertion de ses éléments :
import collections d = {2: 3, 1: 89, 4: 5, 3: 0} # Construct an OrderedDict from sorted key-value pairs od = collections.OrderedDict(sorted(d.items())) print(od) # OrderedDict([(1, 89), (2, 3), (3, 0), (4, 5)])
Bien que la représentation imprimée d'od puisse varier, elle maintiendra l'ordre souhaité lors des interactions ultérieures :
print(od[1]) # 89 print(od[3]) # 0 for k, v in od.items(): print(k, v) # 1 89, 2 3, 3 0, 4 5
Considérations pour les utilisateurs de Python 3
Les utilisateurs de Python 3 doivent utiliser le .items() méthode au lieu de .iteritems() lors de l'itération dans OrderedDict pour maintenir la compatibilité :
for k, v in od.items(): print(k, v) # 1 89, 2 3, 3 0, 4 5
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!