GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser les ensembles en Python

Apprenez à utiliser les ensembles en Python comme point d'entrée pour les apprenants Python et les programmeurs Python pour apprendre et/ou coder sur des concepts plus avancés tels que les fonctions Lambda, Map Reduce, l'API Java Collections et l'interface des collections Python.

Ce didacticiel examinera plusieurs cas d'utilisation quotidiens de la structure de données définie dans le langage de programmation Python avec des exemples pour vous aider à mieux comprendre les concepts.

Lisez la suite pour commencer !

Prérequis

Ce tutoriel sera une démonstration pratique. Si vous souhaitez suivre, assurez-vous d'avoir les éléments suivants :

  • Environnement Python v3 ou version ultérieure installé.
  • Un éditeur de code pour exécuter du code Python tel que VS Code.

Création de vos premiers ensembles en Python

En Python, deux structures de données sont des listes, qui sont des collections ordonnées de données modifiables, et des dictionnaires qui stockent des données dans des paires clé-valeur. Mutable signifie que les données peuvent être modifiées après leur création. Les ensembles partagent les caractéristiques des listes et des dictionnaires. Comme les listes, les ensembles sont des collections modifiables d'éléments uniques.

Contrairement aux listes, les ensembles n'ont pas d'index car ils ne sont pas une séquence, ce qui rend les ensembles plus proches des dictionnaires, qui sont également des collections non ordonnées. Python optimise fortement les ensembles et les dictionnaires pour les opérations de recherche, ce qui augmente la vitesse.

Vous pouvez rechercher une clé pour obtenir une valeur dans un dictionnaire, comme trouver le nom de quelqu'un, puis obtenir son numéro de téléphone lorsque vous regardez dans un carnet d'adresses. Mais les ensembles ne contiennent pas de paires clé-valeur. Au lieu de cela, vous recherchez un élément dans des ensembles pour vérifier s'il existe ou non dans l'ensemble. Ce concept s'appelle le test d'adhésion.

Pour apprendre, il est temps de créer un set ! Vous créez un ensemble en ajoutant des éléments à un ensemble. Mettons-nous la main à la pâte !

1. Démarrez une session Python interactive dans le terminal.

2. Une fois votre session Python prête, créez un ensemble en appelant le set() méthode et transmettez tout type de données que vous souhaitez ajouter. Copiez et collez le code ci-dessous dans votre session Python et appuyez sur Entrée pour créer votre premier ensemble. Vous déclarez le my_firs_set variable, avec le littéral défini :accolades. Le ATA, Hello World string est le premier et le seul élément.

my_first_set = {'ATA, Hello World'}

3. Exécutez la commande ci-dessous pour appeler votre premier ensemble afin de vérifier qu'il crée l'ensemble.

my_first_set

Vous obtiendrez la chaîne, ATA, Hello World en retour, comme indiqué ci-dessous.

4. Vous pouvez revérifier que my_first_set est un ensemble en utilisant le type() fonction pour obtenir le type de données du my_first_set . Exécutez le code ci-dessous pour obtenir le type de données.

type(my_first_set)

Vous obtiendrez la sortie ci-dessous. La sortie confirme my_first_set est un ensemble.

5. Puisqu'un ensemble est une collection, il a la fonction de longueur intégrée :len() . Exécutez le code ci-dessous pour obtenir la longueur de l'ensemble.

len(my_first_set)

En retour, vous obtiendrez 1, comme indiqué ci-dessous, car l'ensemble ne contient qu'un seul élément. Un ensemble contenant exactement un élément est également appelé ensemble singleton.

Comprendre les ensembles définissant les propriétés

Un ensemble a deux propriétés de définition, que vous verrez ensuite. Personne n'aime les spoilers, lisez la suite pour commencer à coder et découvrez ces propriétés.

Créez un nouveau fichier nommé set_comparison.py , et copiez-collez-y le code ci-dessous.

# You will make a couple of sets. The first set is {1, 2, 3}, 
# the second set has the same numbers in a different order {3, 2, 1}.
# You'll use a double equal sign == to compare the sets. # And you'll use a print statement to print out the result of this comparison.
print({1, 2, 3} == {3, 2, 1})

Exécutez la commande ci-dessous dans votre IDE pour exécuter le set_comparison.py script et imprimez le résultat de la comparaison.

python set_comparison.py

Vous obtiendrez vrai comme sortie comme indiqué ci-dessous :Python a évalué ces deux ensembles et les a considérés comme égaux. Ils ont la même longueur et contiennent exactement les mêmes éléments les uns que les autres.

Lorsqu'un élément est dans un ensemble, il est garanti qu'il est unique par rapport aux autres éléments. Concrètement, un ensemble est un objet mathématique qui garde une trace de toutes les valeurs distinctes d'une collection ou d'une chaîne donnée.

1️⃣ Les ensembles Python ne sont pas des séquences :l'ordre des éléments dans l'ensemble n'a pas d'importance. Les ensembles ne sont pas ordonnés.

Ensuite, vous apprendrez comment les ensembles gèrent les valeurs en double. Créez un nouveau fichier nommé set_integer_number.py , copiez et collez la ligne ci-dessous. Chaque membre de cet ensemble littéral sera un entier, séparé par des virgules, et certains de ces entiers se répéteront sans ordre particulier.


print({1, 2, 3, 2, 3, 4, 3, 4, 4, 4})

Exécutez la commande ci-dessous pour imprimer les membres de l'ensemble.

python set_integer_number.py

Vous obtiendrez la sortie comme celle ci-dessous, où vous pouvez voir que set_integer_number contient uniquement les valeurs uniques 1 , 2 , 3 , et 4 . Même si vous les avez répétés presque tous. Lorsque Python évalue et construit, et imprime l'ensemble réel, vous n'avez que quatre membres dans l'ensemble.

Lorsqu'un élément est dans un ensemble, il est garanti qu'il est unique par rapport aux autres éléments. Concrètement, un ensemble est un objet mathématique qui garde une trace de toutes les valeurs distinctes d'une collection ou d'une chaîne donnée.

2️⃣ Les ensembles Python ne contiennent pas de données en double :il n'y a pas de valeurs en double. Les membres sont uniques les uns des autres.

Vous pouvez revérifier si des valeurs en double sont stockées en imprimant la longueur de cet ensemble en utilisant le len() méthode. Supprimez le contenu précédent de set_integer_number.py fichier et copiez et collez la ligne ci-dessous dans le set_integer_number.py fichier.

print(len({1, 2, 3, 2, 3, 4, 3, 4, 4, 4}))

Exécutez la commande ci-dessous pour imprimer la longueur de l'ensemble.

python set_integer_number.py

Vous obtiendrez le numéro 4 dans la sortie comme indiqué ci-dessous, ce qui signifie qu'il n'y a que quatre membres dans l'ensemble.

Comparez ces propriétés avec un exemple réel d'un ensemble. Un ensemble de fruits :pommes, bananes, oranges, citrons et citrons verts. L'ordre des fruits n'a pas d'importance. Si vous modifiez l'ordre de la liste, rien ne sera différent. Vous avez toujours la même liste de fruits. Les pommes ne sont pas plus importantes que les bananes ou les citrons.

Tous les fruits sont uniques et sont nettement différents les uns des autres. Si quelqu'un vous demande de nommer cinq fruits, vous ne diriez pas bananes cinq fois :une fois suffit. Étant donné que les bananes sont déjà dans l'ensemble, les ajouter à nouveau ne devrait pas changer l'ensemble.

Ajout d'éléments à un ensemble Python

Dans la section précédente, vous avez appris à créer un nouvel ensemble Python. Dans cette section, vous apprendrez à manipuler les ensembles Python. La première étape consiste à ajouter des éléments à un ensemble.

Les ensembles Python sont modifiables, ce qui signifie que les données à l'intérieur d'un ensemble peuvent être modifiées après la création de l'ensemble.

Il existe deux méthodes pour ajouter des éléments à un ensemble. Le add() ajoute un élément, tandis que le update() méthode ajoute plus d'un élément.

Créez un nouveau fichier nommé set_vowels.py , copiez et collez le code ci-dessous dans le fichier.

# You'll declare a new variable vowels and assign it as an empty set.
vowels = set()
#Use the add() method to add one element to the set. 
# Let's add A, which was the first vowel.
vowels.add('A')
#Print the new set with the added element.
print(vowels)

Exécutez le code ci-dessous pour vérifier que vous ajoutez des éléments à l'ensemble.

python set_vowels.py

Vous obtiendrez une sortie comme celle ci-dessous. Notez qu'il imprime 'A ' lorsque vous imprimez set_vowels contenu, ce qui signifie que "A" est membre de set_vowels .

Maintenant, au lieu d'ajouter le reste des voyelles une par une, il est temps de les ajouter toutes ensemble avec la méthode de mise à jour.

Copiez et collez la ligne ci-dessous dans votre set_vowels.py dossier. Vous utiliserez un type itérable, qui est une chaîne :U , E , O , et je . La méthode de mise à jour parcourra chaque élément un par un, rendant la chaîne itérable, et ajoutera chaque élément à l'ensemble.

vowels.update('U, E, O, I')

Exécutez le code ci-dessous pour vérifier que l'ensemble contient les quatre voyelles nouvellement ajoutées.

python set_vowels.py

Vous obtiendrez la sortie ci-dessous. Vous pouvez voir qu'il ajoute toutes les voyelles à l'ensemble.

L'ordre est non déterministe pour ces types de données de chaîne. Donc, si vos voyelles sortent dans un ordre différent, c'est bien; ça marche comme prévu.

Supprimer des éléments d'un ensemble Python

Dans la section précédente, vous avez appris à ajouter des éléments à un ensemble. Dans cette section, vous apprendrez à supprimer des éléments d'un ensemble.

Il existe quatre méthodes pour supprimer un élément d'un ensemble Python :

  • clear()
  • remove()
  • discard()
  • pop()

Entrons dans chaque méthode une par une. Les exemples s'appuieront sur les voyelles définies dans la section précédente. Vous allez créer une copie au lieu de l'ensemble d'origine pour ne pas affecter l'ensemble d'origine.

Le copy() La méthode fait une copie de l'ensemble. Par exemple, copiez et collez les lignes ci-dessous dans votre set_vowels.py fichier pour faire une copie pour chaque méthode de suppression.

clear_method = vowels.copy()
remove_method = vowels.copy()
discard_method = vowels.copy()
clear_method = vowels.copy()

Apprentissage de la méthode Clear

La première méthode est le clear() méthode, dont la syntaxe est set.clear() . Cette méthode ne prend aucun argument.

Copiez et collez les lignes ci-dessous dans votre set_vowels.py pour appeler le clear() méthode et imprimez le clear_method définir

clear_method.clear()
print(clear_method)

Exécutez le code ci-dessous et vous obtiendrez un ensemble vide imprimé comme indiqué ci-dessous. Le clear() méthode a supprimé tous les éléments de l'ensemble.

python set_vowels.py

Utilisation de la méthode Remove

Maintenant, sur le remove() méthode. Cette méthode prend un argument, qui est l'élément que vous souhaitez supprimer de l'ensemble. La syntaxe du remove() la méthode est set.remove(element) . Vous utiliserez cette méthode dans votre code ci-dessous.

remove_method = vowels.copy()
# Rmove the letter A.
remove_method.remove('A')
print(remove_method)

Exécutez le code ci-dessous pour vérifier que la suppression de la lettre A du remove_method ensemble.

python set_vowels.py

Vous obtiendrez une sortie comme indiqué ci-dessous. Vous pouvez voir que A ne fait plus partie de l'ensemble.

Si vous essayez de supprimer un élément qui n'existe pas dans l'ensemble, vous obtiendrez une erreur de clé. Invoquons le remove() méthode avec un élément qui n'est pas membre de l'ensemble, la lettre B.

remove_method = vowels.copy()
remove_method.remove('B')
print(remove_method)

Réexécutez set_vowels.py, et vous obtiendrez une sortie montrant une erreur, comme celle ci-dessous.

Supprimer des éléments avec la méthode Discard

La troisième méthode est le discard() méthode. Cette méthode prend un argument, qui est l'élément que vous souhaitez supprimer d'un ensemble.

La différence entre remove() et discard() est que si un élément n'existe pas, la méthode de rejet() ne déclenchera pas d'erreur. Cette méthode évite de générer une KeyError, et vous pouvez appeler le discard() autant de fois que désiré.

La syntaxe du discard() la méthode est set.discard(element) . Encore une fois, copiez et collez le code ci-dessous. Vous supprimerez le B lettre, qui n'est pas membre de l'ensemble, et cette fois Python ne générera pas d'erreur.

discard_method = vowels.copy()
discard_method.discard('B')
print(discard_method)

Exécutez set_vowels.py à nouveau et voyez ce qui se passe.

python set_vowels.py

Vous obtiendrez une sortie comme celle illustrée ci-dessous. Vous pouvez voir qu'il n'y a pas d'erreur.

Suppression d'éléments via la méthode Pop

La dernière méthode est le pop() méthode. Cette méthode ne prend aucun argument, supprime un élément aléatoire de l'ensemble et renvoie l'élément supprimé. La syntaxe de la méthode pop() est set.pop() .

Copiez et collez le code ci-dessous pour invoquer le pop() méthode et imprimez l'élément supprimé.

pop_method = vowels.copy()
vowel = pop_method.pop()
print(vowel)
print(pop_method)

Exécutez set_vowels.py, et vous obtiendrez une sortie comme celle montrée ci-dessous. L'ensemble de voyelles d'origine contient cinq voyelles. Votre pop_method set a quatre voyelles :la méthode supprime et renvoie la voyelle O .

Depuis pop() supprime un élément aléatoire, vous pourriez avoir obtenu un résultat différent. Exécutez le code plusieurs fois et vous remarquerez le caractère aléatoire en jeu.

Conclusion

Vous devriez maintenant avoir une meilleure compréhension des ensembles Python et de la méthodologie nécessaire pour créer, supprimer ou ajouter des éléments aux ensembles. Dans une prochaine étape, pourquoi ne pas explorer les opérations sur les ensembles et les ensembles par rapport aux listes ?


Linux
  1. Comment utiliser BusyBox sous Linux

  2. Comment utiliser le type de fichier dans Vim ?

  3. Comment utiliser Python pour interroger WMI (Linux - Windows)

  4. Comment puis-je définir le 'backend' dans matplotlib en Python?

  5. Comment configurer curl pour utiliser en permanence un proxy ?

Comment mettre à niveau Python vers 3.9

Comment installer Python 3 sur Windows 10

Commande set Linux et comment l'utiliser {9 exemples}

Comment configurer un environnement virtuel Python sur Debian 10 Buster

Comment vérifier la version de Python

Comment installer et utiliser Python-Mistune sous Linux