Ensembles Python : opérations, méthodes et théorie des ensembles
Ensembles maîtres en Python. Apprenez à stocker des valeurs uniques, à exécuter des intersections, des unions, des différences et à comprendre les avantages du hachage en termes de performances.
Aperçu
Un ensemble est une collection non ordonnée d'éléments uniques en Python. Les ensembles sont construits sur des tables de hachage, ce qui les rend hautement optimisés pour les tests d'appartenance, déterminant si un élément spécifique se trouve dans la collection. Alors que vérifier si un élément est dans une liste nécessite d'analyser chaque élément (une opération « O(N) »), la vérification de l'appartenance à un ensemble s'exécute en temps constant « O(1) ». Cela rend les ensembles incroyablement puissants pour l’élimination des doublons et le filtrage des données en masse.
Les ensembles sont initialisés à l'aide d'accolades `{}` contenant des valeurs (sans deux-points) ou en utilisant le constructeur intégré `set()`. Notez que puisque les accolades sont également utilisées pour les dictionnaires, écrire des accolades vides `{}` initialise un dictionnaire vide. Pour initialiser un ensemble vide, vous devez utiliser `set()`. Les éléments d'un ensemble doivent être hachables et immuables, ce qui signifie que vous pouvez stocker des nombres, des chaînes et des tuples, mais vous ne pouvez pas stocker de listes ou de dictionnaires dans un ensemble.
Au-delà des méthodes d'ajout et de suppression de base, les ensembles Python prennent en charge de manière native les opérations de la théorie mathématique des ensembles. Cela inclut Union (`|` ou `.union()`) pour fusionner des collections, Intersection (`&` ou `.intersection()`) pour trouver des éléments communs, Différence (`-` ou `.difference()`) pour trouver des éléments uniques à une collection et Symetric Difference (`^`) pour récupérer des éléments dans l'un ou l'autre ensemble mais pas les deux. La maîtrise des ensembles vous permet de résoudre des problèmes de regroupement complexes avec un code propre, performant et lisible.
Sortie de code et d'exécution
Supprimer les doublons d'une liste et effectuer des opérations mathématiques sur les ensembles.
# Removing duplicates
roles_list = ["admin", "user", "editor", "admin", "user"]
# Sort the set to guarantee deterministic printed output
unique_roles = sorted(list(set(roles_list)))
print(f"Unique roles: {unique_roles}")
# Set operations
dev_skills = {"python", "javascript", "sql"}
ops_skills = {"sql", "docker", "kubernetes"}
# Union and Intersection (sorted for deterministic output)
all_skills = sorted(list(dev_skills | ops_skills))
common_skills = sorted(list(dev_skills & ops_skills))
unique_to_dev = sorted(list(dev_skills - ops_skills))
print(f"Union: {all_skills}")
print(f"Intersection: {common_skills}")
print(f"Dev only: {unique_to_dev}")Unique roles: ['admin', 'editor', 'user']
Union: ['docker', 'javascript', 'kubernetes', 'python', 'sql']
Intersection: ['sql']
Dev only: ['javascript', 'python']Mise en œuvre étape par étape
- Suppression des entrées en double des résultats de l'API ou des fichiers CSV
- Détermination des éléments communs entre deux bases de données
- Effectuer des opérations de recherche rapide sur de grandes listes d'ID
Foire aux questions
Les éléments d’un ensemble sont-ils ordonnés ?
Non, les sets ne sont pas ordonnés. Vous ne pouvez pas accéder aux éléments par un index (comme set[0]) ou les découper.
Comment ajouter ou supprimer des éléments dans un ensemble ?
Utilisez la méthode .add() pour insérer un seul élément et .remove() ou .discard() pour en supprimer un. .discard() est plus sûr car il ne génère pas d'erreur si l'élément est manquant.
Sujets connexes
Apprenez tout sur les listes Python. Découvrez comment créer, découper, modifier et parcourir des tableaux en Python de manière native.
Dictionnaires PythonMaîtrisez les dictionnaires Python. Apprenez à stocker, récupérer et gérer les données des paires clé-valeur. Comprendre les performances et les meilleures pratiques pour les mappages.
Tuples PythonComprendre les tuples Python. Découvrez quand utiliser des tuples sur des listes, comment fonctionne le décompression des tuples et comment l'immuabilité garantit la sécurité des données.
Ressources Python recommandées
Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.
Comment trier une liste en Python
Apprenez à trier une liste en Python à l'aide de la méthode sort() et de la fonction sorted(). Découvrez des exemples de tri de clés personnalisé et d’ordre inverse.
Aide-mémoire sur les méthodes de chaîne Python
Un guide de référence complet pour la manipulation des chaînes Python. Maîtrisez le formatage, la recherche, le fractionnement, le remplacement et la vérification des propriétés des chaînes.
Python vs JavaScript : quel langage de programmation est le meilleur ?
Une comparaison complète entre Python et JavaScript. Explorez les différences de syntaxe, les performances, les cas d'utilisation (backend et frontend) et des exemples de codage.