Exercices Structures de données Opérations ensemblistes
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Opérations ensemblistes

Les sets supportent les opérations mathématiques sur les ensembles. C'est très puissant pour comparer des collections.

Les opérations principales :
union (|) : tous les éléments des deux sets. {1, 2} | {2, 3} donne {1, 2, 3}
intersection (&) : les éléments en commun. {1, 2, 3} & {2, 3, 4} donne {2, 3}
différence (-) : les éléments du premier qui ne sont pas dans le second. {1, 2, 3} - {2, 3, 4} donne {1}
différence symétrique (^) : les éléments qui sont dans l'un ou l'autre, mais pas les deux. {1, 2, 3} ^ {2, 3, 4} donne {1, 4}

Écris une fonction analyser_listes(liste1, liste2) qui prend deux listes et renvoie un dictionnaire avec quatre clés : 'communs' (éléments en commun), 'seulement_1' (dans liste1 seulement), 'seulement_2' (dans liste2 seulement), 'tous' (tous les éléments uniques). Chaque valeur est un set.

Exemple :
analyser_listes([1, 2, 3], [2, 3, 4]) renvoie {'communs': {2, 3}, 'seulement_1': {1}, 'seulement_2': {4}, 'tous': {1, 2, 3, 4}}

Tests (4/4)

Cas normal
r = analyser_listes([1, 2, 3], [2, 3, 4])
assert r['communs'] == {2, 3}
assert r['seulement_1'] == {1}
assert r['seulement_2'] == {4}
assert r['tous'] == {1, 2, 3, 4}
Listes identiques
r = analyser_listes([1, 2], [1, 2])
assert r['communs'] == {1, 2}
assert r['seulement_1'] == set()
Rien en commun
r = analyser_listes([1], [2])
assert r['communs'] == set()
Listes vides
r = analyser_listes([], [])
assert r['tous'] == set()

Indices (3 disponibles)

solution.py