Différence symétrique entre des listes Python

PythonPythonBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

En Python, la différence symétrique entre deux ensembles est l'ensemble des éléments qui se trouvent dans l'un ou l'autre des ensembles, mais pas dans leur intersection. Dans ce défi, vous écrirez une fonction qui prend deux listes en entrée et renvoie leur différence symétrique.

Différence symétrique

Écrivez une fonction symmetric_difference(a, b) qui prend deux listes en arguments et renvoie leur différence symétrique sous forme de liste. La fonction ne doit pas éliminer les valeurs dupliquées.

Pour résoudre ce problème, vous pouvez suivre ces étapes :

  1. Créez un ensemble à partir de chaque liste.
  2. Utilisez une compréhension de liste sur chacune d'entre elles pour ne conserver que les valeurs qui ne sont pas contenues dans l'ensemble précédemment créé de l'autre.
  3. Concaténez les deux listes obtenues à l'étape 2.
def symmetric_difference(a, b):
  (_a, _b) = (set(a), set(b))
  return [item for item in a if item not in _b] + [item for item in b
          if item not in _a]
symmetric_difference([1, 2, 3], [1, 2, 4]) ## [3, 4]

Sommaire

Dans ce défi, vous avez appris à trouver la différence symétrique entre deux listes en Python. Vous avez également appris à utiliser des ensembles et des compréhensions de liste pour résoudre ce problème.