Python : Ensembles

De Justine's wiki
Aller à la navigation Aller à la recherche

Les ensembles en Python

Les ensembles en Python sont des ensembles au sens de la théorie des ensembles. Il s'agit d'un ensembles de trucs qui ne peux pas avoir de doublons, et c'est là la principale différence avec une liste :

<source lang="python"> >>> ensemble = {1, 2, 3, 2, 2, 2, 18, 65} >>> liste = [1, 2, 3, 2, 2, 2, 18, 65] >>> ensemble {1, 2, 3, 65, 18} >>> liste [1, 2, 3, 2, 2, 2, 18, 65] </source>

Opérations sur des ensembles

Il est possible d'effectuer les opérations classiques des ensembles.

Je part ici des deux ensembles suivants :

<source lang="python"> dataScientist = set(['Python', 'R', 'SQL', 'Git', 'Tableau', 'SAS']) dataEngineer = set(['Python', 'Java', 'Scala', 'Git', 'SQL', 'Hadoop']) </source>

Et les opérations sont en elles-mêmes assez simples :

<source lang="python">

      1. Union

gauche.union(droite) {'gauche1', 'milieu1', 'droite2', 'droite1', 'gauche2'}

  1. Equivalent

gauche | droite {'gauche1', 'milieu1', 'droite2', 'droite1', 'gauche2'}


      1. Intersection

gauche.intersection(droite) {'milieu1'}

  1. Equivalent

gauche & droite {'milieu1'}

  1. Intersection vide: deux ensembles ayant une intersection vide (donc rien en commun)
  2. sont dit disjoints. On peut le tester :

gauche.isdisjoint(droite) False

      1. Difference

gauche.difference(droite) {'gauche1', 'gauche2'}

  1. Equivalent

gauche - droite {'gauche1', 'gauche2'}

      1. Difference symétrique

gauche.symmetric_difference(droite) {'droite1', 'gauche1', 'gauche2', 'droite2'}

  1. Equivalent

gauche ^ droite {'droite1', 'gauche1', 'gauche2', 'droite2'}

      1. Compréhension
  1. On peut faire des compréhensions d'ensembles, wahou

{skill for skill in ['GIT', 'PYTHON', 'SQL'] if skill not in {'GIT', 'PYTHON', 'JAVA'}} </source>