Maison > développement back-end > Tutoriel Python > Comment puis-je créer une collection triée et ordonnée à partir d'un dictionnaire Python ?

Comment puis-je créer une collection triée et ordonnée à partir d'un dictionnaire Python ?

Barbara Streisand
Libérer: 2024-12-28 22:28:16
original
731 Les gens l'ont consulté

How Can I Create a Sorted, Ordered Collection from a Python Dictionary?

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)])
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal