Maison >développement back-end >Tutoriel Python >Python propose-t-il un ensemble ordonné natif et comment peut-on l'émuler ?

Python propose-t-il un ensemble ordonné natif et comment peut-on l'émuler ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-05 11:04:40121parcourir

Does Python Offer a Native Ordered Set, and How Can One Be Emulated?

Explorer les ensembles ordonnés en Python

Python propose un dictionnaire ordonné, mais fournit-il un ensemble ordonné ? Examinons cette requête et découvrons les solutions potentielles disponibles en Python.

L'absence d'ensembles ordonnés

Contrairement aux dictionnaires ordonnés, Python ne prend pas en charge nativement les ensembles ordonnés. Cependant, l'introduction d'ensembles ordonnés peut être une fonctionnalité bénéfique pour maintenir l'ordre des éléments tout en éliminant les doublons.

Émulation d'ensembles ordonnés avec des dictionnaires

À partir de Python 3.7, un simple Le dictionnaire peut être utilisé comme un ensemble ordonné en utilisant la méthode de classe dict fromkeys(). Cette méthode n'utilise que des clés (en définissant les valeurs sur Aucune), émulant efficacement les fonctionnalités d'un ensemble ordonné.

Exemple d'utilisation

Pour présenter l'utilisation, considérez une liste de mots-clés : [ 'foo', 'bar', 'bar', 'foo', 'baz', 'foo']. Pour filtrer les doublons tout en préservant l'ordre, utilisez simplement la méthode fromkeys() et récupérez les clés().

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

>>> list(dict.fromkeys(keywords))
['foo', 'bar', 'baz']

Alternative pour les anciennes versions de Python

Pour les anciennes Versions Python, la classe collections.OrderedDict peut servir d'ensemble ordonné. Il offre des fonctionnalités similaires à l'émulation d'ensembles ordonnés avec des dictionnaires.

En conclusion, bien que Python n'offre pas d'ensembles ordonnés natifs, une utilisation intelligente des dictionnaires et des collections. La classe OrderedDict peut accomplir efficacement la même tâche, permettant aux développeurs de gérer ensembles ordonnés dans leur code 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!

Déclaration:
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