Maison > développement back-end > Tutoriel Python > Python a-t-il une structure de données d'ensemble ordonné intégrée ?

Python a-t-il une structure de données d'ensemble ordonné intégrée ?

Linda Hamilton
Libérer: 2024-12-16 18:02:13
original
495 Les gens l'ont consulté

Does Python Have a Built-in Ordered Set Data Structure?

Structures de données ordonnées de Python

Python fournit une gamme de structures de données ordonnées, y compris le dictionnaire ordonné. Cependant, une question se pose : Python propose-t-il également un ensemble ordonné ?

Absence d'ensemble ordonné intégré

Contrairement aux dictionnaires ordonnés, Python n'a pas d'ensemble ordonné intégré. dans le type d'ensemble ordonné. Cette omission peut être attribuée au fait que les ensembles conservent intrinsèquement des collections non ordonnées d'éléments uniques.

Émulation d'ensembles ordonnés dans Python 3.7

Néanmoins, à partir de Python 3.7, vous peut utiliser le dict de la bibliothèque standard pour usurper l'identité d'un ensemble ordonné. En créant un dict avec uniquement des clés (et des valeurs définies sur Aucune), vous pouvez obtenir la fonctionnalité souhaitée.

keywords = ['foo', 'bar', 'bar', 'foo', 'baz', 'foo']

ordered_keywords = list(dict.fromkeys(keywords))
print(ordered_keywords)
# Output: ['foo', 'bar', 'baz']
Copier après la connexion

Cette approche filtre efficacement les éléments en double tout en préservant l'ordre, imitant le comportement d'un ensemble ordonné. .

Alternative pour les anciennes versions de Python

Si vous utilisez une version de Python antérieure à 3.7, vous pouvez exploitez collections.OrderedDict pour obtenir une fonctionnalité d’ensemble ordonné similaire.

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