Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| python:bases:ensembles [2021/04/03 08:02] – philippe | python:bases:ensembles [2025/06/19 19:29] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | [[python: | ||
| + | [[: | ||
| + | [[: | ||
| + | ===== Python - Ensembles (set) ===== | ||
| + | |||
| + | [Mise à jour le : 30/ | ||
| + | |||
| + | * **Sources** | ||
| + | * **Documentation** sur Python.org : < | ||
| + | |||
| + | * ** Mots-clés** : ensemble, mutable, immuable, union, intersection, | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | | and | continue | ||
| + | | as | ||
| + | | assert | ||
| + | | __async__ | ||
| + | | __await__ | ||
| + | | break | except | ||
| + | | class | __False__ | ||
| + | |||
| + | * < | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== 1. Introduction ==== | ||
| + | Proche des dictionnaires, | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | ==== 2. Création ==== | ||
| + | === 2.1 Création en extension === | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | // Exemple 1 // : avec des accolades | ||
| + | |||
| + | <code python *.py> | ||
| + | # Un set sur une liste élimine les doublons | ||
| + | ensemble = {' | ||
| + | print(ensemble) # Résultat : {' | ||
| + | </ | ||
| + | |||
| + | // Exemple 2 // : avec la fonction set() | ||
| + | |||
| + | <code python *.py> | ||
| + | # Un set sur une liste élimine les doublons | ||
| + | ensemble = set([' | ||
| + | print(ensemble) # Résultat : {' | ||
| + | </ | ||
| + | |||
| + | === 2.1 Création d'un ensemble vide === | ||
| + | <callout type=" | ||
| + | |||
| + | //Exemple// | ||
| + | |||
| + | <code python *.py> | ||
| + | ensemble_vide = set() | ||
| + | # ou | ||
| + | ensemble_vide = set([]) | ||
| + | </ | ||
| + | |||
| + | ==== 3. Eléments dans un ensemble ==== | ||
| + | |||
| + | <callout icon=" | ||
| + | |||
| + | ==== 4. Fonction native Frozenset ==== | ||
| + | Source < | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | |||
| + | ==== 5. Opérations ==== | ||
| + | |||
| + | === 5.1 Test d' | ||
| + | |||
| + | <code python *.py> | ||
| + | a = {' | ||
| + | ' | ||
| + | 6 in a # Résultat : False | ||
| + | </ | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | === 5.2 Cardinal === | ||
| + | * **Nombre d' | ||
| + | <code python *.py> | ||
| + | a = {' | ||
| + | len(a) # Résultat : 4 | ||
| + | </ | ||
| + | |||
| + | |||
| + | === 5.3 Manipulations === | ||
| + | |||
| + | * **Suppression des doublons dans une liste** | ||
| + | |||
| + | <code python *.py> | ||
| + | a = {[' | ||
| + | print(a) | ||
| + | </ | ||
| + | |||
| + | * **Vidage** | ||
| + | <code python *.py> | ||
| + | # pour nettoyer | ||
| + | a = {' | ||
| + | a.clear() # Résultat : set() | ||
| + | </ | ||
| + | |||
| + | * **Ajout d'un élément** | ||
| + | <code python *.py> | ||
| + | # ajouter un élément | ||
| + | a = {' | ||
| + | a.add(1) # Résultat : {1, (1, 2, 3), 12, ' | ||
| + | </ | ||
| + | |||
| + | * **Mise à jour d'un ensemble avec un autre ensemble** | ||
| + | <code python *.py> | ||
| + | # ajouter tous les éléments d'un autre ensemble | ||
| + | a = {' | ||
| + | a.update({2, | ||
| + | </ | ||
| + | |||
| + | * **Suppression d'un élément** | ||
| + | <code python *.py> | ||
| + | # enlever un élément avec discard | ||
| + | a = {2, (1, 3, 5), ' | ||
| + | a.discard((1, | ||
| + | </ | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | <code python *.py> | ||
| + | # enlever un élément avec remove | ||
| + | a = {2, (1, 3, 5), ' | ||
| + | a.remove(' | ||
| + | </ | ||
| + | |||
| + | <callout icon=" | ||
| + | |||
| + | <code python *.py> | ||
| + | # pop() ressemble à la méthode éponyme sur les listes | ||
| + | # sauf qu'il n'y a pas d' | ||
| + | a = {2, (1, 3, 5), ' | ||
| + | while a: | ||
| + | a = a.pop() | ||
| + | print(" | ||
| + | print(" | ||
| + | |||
| + | # Résultat | ||
| + | # element 2 | ||
| + | # element (1, 3, 5) | ||
| + | # element pierre | ||
| + | # element (1, 2, 3) | ||
| + | # element 12 | ||
| + | # element marc | ||
| + | # l' | ||
| + | </ | ||
| + | |||
| + | === 5.4 Opérations sur les ensembles === | ||
| + | <callout type=" | ||
| + | Ces opérateurs sont également disponibles sous la forme de méthodes.</ | ||
| + | |||
| + | * **Union** | ||
| + | |||
| + | <code python *.py> | ||
| + | A1 = set([0, 2, 4, 6]) | ||
| + | A2 = set([0, 6, 3]) | ||
| + | A1 | A2 # Résultat : {0, 2, 3, 4, 6} | ||
| + | </ | ||
| + | |||
| + | |||
| + | * **Intersection** | ||
| + | |||
| + | <code python *.py> | ||
| + | A1 = set([0, 2, 4, 6]) | ||
| + | A2 = set([0, 6, 3]) | ||
| + | A1 & A2 # Résultat : {0, 6} | ||
| + | </ | ||
| + | |||
| + | * **Différence** | ||
| + | |||
| + | <code python *.py> | ||
| + | A1 = set([0, 2, 4, 6]) | ||
| + | A2 = set([0, 6, 3]) | ||
| + | A1 - A2 # Résultat : {2, 4} | ||
| + | </ | ||
| + | |||
| + | * **Différence symétrique** | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | <code python *.py> | ||
| + | A1 = set([0, 2, 4, 6]) | ||
| + | A2 = set([0, 6, 3]) | ||
| + | A1 ^ A2 # Résultat : {2, 3, 4} | ||
| + | </ | ||
| + | |||
| + | |||
| + | === 5.5 Comparaisons === | ||
| + | |||
| + | * **Egalité** | ||
| + | |||
| + | <code python *.py> | ||
| + | a = {' | ||
| + | b = set([' | ||
| + | a==b # Résultat : True | ||
| + | </ | ||
| + | |||
| + | * **Inclusion** | ||
| + | |||
| + | <code python *.py> | ||
| + | a = {0, 1, 2, 3} | ||
| + | b = {1, 3} | ||
| + | b <= a # Résultat : True | ||
| + | </ | ||
| + | |||
| + | <code python *.py> | ||
| + | a = {0, 1, 2, 3} | ||
| + | b = {1, 3} | ||
| + | b < a # Résultat : True | ||
| + | </ | ||
| + | |||
| + | * **Ensembles disjoints** | ||
| + | |||
| + | <code python *.py> | ||
| + | a = {0, 1, 2, 3} | ||
| + | b = {' | ||
| + | a.isdisjoint(b) # Résultat : True | ||
| + | </ | ||
| + | |||
| + | {{ : | ||
| + | ==== Quiz ==== | ||
| + | * **Real Python** : < | ||