Je suis nouveau dans la programmation mais je continue d'apprendre, et récemment j'ai heurté le mur donc je demande de l'aide. Désolé si cela a été discuté auparavant, mais je ne trouve pas de réponse à mon problème. J'ai deux listes. Et je dois les comparer, et dans le résultat pour obtenir les objets qui NE correspond PAS. Par exemple:
a = [1,2,3,4,5,6]
b = [1,2,3,4,5,6,7,8,9]
result = [7,8,9].
Et je ne trouve que du code et des exemples qui renvoient des correspondances. Ce dont je n'ai pas besoin.
Les listes sont dans le fichier notepad file.txt pour vous les gens à garder à l'esprit si vous cela vous aide à m'aider. :)
Vous pouvez convertir les listes en ensembles et exécuter les opérations habituelles set telles que la différence ou la différence symétrique. Par exemple, set(b) - set(a)
correspond à set([7, 8, 9])
.
Si le deuxième ensemble n'est pas toujours un sous-ensemble du premier, alors l'opérateur de différence "-" peut ne pas toujours renvoyer ce que vous attendez.
Par exemple.
[1,2,3,4,5] - [3,4,5,6,7] = [1,2]
Si vous voulez un ensemble d'éléments dans l'une ou l'autre liste mais pas dans les deux listes, utilisez l'opérateur de différence symétrique '^'.
[1,2,3,4,5] ^ [3,4,5,6,7] = [1,2,6,7]
L'opérateur de différence symétrique, en supposant qu'il fait ce que vous voulez, a également l'avantage d'être commutatif. Cela signifie que vous n'avez pas besoin de déterminer dans quel ordre comparer les ensembles comme vous le faites avec l'opérateur de différence.