Maison >développement back-end >Tutoriel Python >Comment utiliser des ensembles Python pour des données uniques?

Comment utiliser des ensembles Python pour des données uniques?

James Robert Taylor
James Robert Taylororiginal
2025-03-10 17:14:47755parcourir

Comment utiliser des ensembles Python pour des données uniques?

Les ensembles Python sont une puissante structure de données spécialement conçue pour stocker des éléments uniques. Contrairement aux listes ou aux tuples, les ensembles ne permettent pas de valeurs en double. Cela les rend incroyablement utiles pour les tâches impliquant une identification et une manipulation uniques des données. Voici comment les utiliser:

Création d'un ensemble: Vous pouvez créer un ensemble à l'aide de bliillères bouclées {} ou du constructeur set(). Par exemple:

<code class="python"># Using curly braces
my_set = {1, 2, 3, 3, 4, 5}  # Duplicates are automatically removed
print(my_set)  # Output: {1, 2, 3, 4, 5}

# Using the set() constructor
my_list = [1, 2, 2, 3, 4, 4, 5]
my_set = set(my_list)
print(my_set)  # Output: {1, 2, 3, 4, 5}</code>

Ajout et supprimer des éléments: Vous pouvez ajouter des éléments en utilisant la méthode add() et supprimer des éléments à l'aide des méthodes remove() ou discard(). remove() soulève A KeyError si l'élément n'est pas trouvé, tandis que discard() ne le fait pas.

<code class="python">my_set.add(6)
print(my_set)  # Output: {1, 2, 3, 4, 5, 6}

my_set.remove(3)
print(my_set)  # Output: {1, 2, 4, 5, 6}

my_set.discard(7) # No error even though 7 is not present
print(my_set)  # Output: {1, 2, 4, 5, 6}</code>

Opérations de définition: Les ensembles de python prennent en charge diverses opérations d'ensemble mathématique comme Union (|), l'intersection (&), la différence (-), et la différence symétrique (^). Ceux-ci sont très efficaces pour les tâches comme trouver des éléments courants ou des éléments uniques entre les ensembles.

<code class="python">set1 = {1, 2, 3}
set2 = {3, 4, 5}

union_set = set1 | set2  # or set1.union(set2)
print(union_set)  # Output: {1, 2, 3, 4, 5}

intersection_set = set1 & set2 # or set1.intersection(set2)
print(intersection_set)  # Output: {3}

difference_set = set1 - set2 # or set1.difference(set2)
print(difference_set)  # Output: {1, 2}

symmetric_difference_set = set1 ^ set2 # or set1.symmetric_difference(set2)
print(symmetric_difference_set) # Output: {1, 2, 4, 5}</code>

Quels sont les cas d'utilisation courants pour les ensembles de python dans le nettoyage des données?

Les ensembles de python sont inestimables dans le nettoyage des données en raison de leur capacité à gérer efficacement des valeurs uniques. Voici quelques cas d'utilisation courants:

  • Suppression des doublons: Il s'agit de l'application la plus simple. La conversion d'une liste ou d'une autre séquence en un ensemble supprime automatiquement les doublons.
  • Identification des valeurs uniques: Les ensembles vous permettent de déterminer rapidement les éléments uniques présents dans un ensemble de données, la constatation de valeurs manquantes:
  • En comparant les ensembles représentant points.
  • Comparing Datasets:
  • Sets facilitate comparisons between datasets, revealing common elements, unique elements to each dataset, and elements present in one but not the other.
  • Data Deduplication:
  • In larger datasets, sets can be used to efficiently identify and remove duplicate records based on specific key champs.
  • Dans quelle mesure les ensembles de python sont efficaces par rapport aux autres structures de données pour trouver des éléments uniques?
Les ensembles de python sont très efficaces pour trouver des éléments uniques par rapport à d'autres structures de données comme les listes ou les dictionnaires. Cette efficacité découle de leur implémentation sous-jacente à l'aide de tables de hachage.

  • Temps de recherche: La vérification de l'existence d'un élément dans un ensemble a une complexité de temps moyenne d'O (1) (temps constant), ce qui signifie que le temps pris n'augmente pas significativement avec la taille de l'ensemble. Les listes, en revanche, nécessitent O (n) (temps linéaire) pour la recherche.
  • Temps d'insertion: L'ajout d'un élément à un ensemble prend également O (1) en moyenne. L'insertion dans une liste prend o (n) dans le pire des cas (si vous devez insérer au début).
  • Utilisation de la mémoire: tandis que les ensembles peuvent utiliser plus de mémoire que les listes pour les petits ensembles de données, leur efficacité dans les grands ensembles de données Simultanément?
Non, vous ne pouvez pas utiliser directement des ensembles Python avec différents types de données immuables simultanément. Un ensemble doit contenir des éléments du même type immuable. Cette restriction est due à la façon dont les tables de hachage fonctionnent en interne. La fonction de hachage a besoin d'un moyen cohérent de cartographier les éléments à leurs emplacements dans la table de hachage, et cette cohérence est plus facile à garantir lorsque les éléments sont de même type immuable (comme les entiers, les cordes, les tuples de la même structure). Essayer de mélanger différents types immuables se traduira par un

.

Cependant, vous pouvez utiliser des ensembles de tuples si vous avez besoin de stocker des collections de différents types de données ensemble. Par exemple: TypeError

Dans ce cas, chaque élément de l'ensemble est un tuple, en maintenant la cohérence de type dans l'ensemble. Vous ne pouvez cependant pas mélanger les tuples avec des entiers directement dans le même ensemble.

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