Par exemple, j'ai deux listes
A = [6, 7, 8, 9, 10, 11, 12]
subset_of_A = [6, 9, 12]; # the subset of A
the result should be [7, 8, 10, 11]; the remaining elements
Existe-t-il une fonction intégrée en python pour faire cela?
Par exemple, j'ai deux listes
A = [6, 7, 8, 9, 10, 11, 12]
subset_of_A = [6, 9, 12]; # the subset of A
the result should be [7, 8, 10, 11]; the remaining elements
Existe-t-il une fonction intégrée en python pour faire cela?
Si l'ordre n'est pas important, vous devez utiliser set.difference
. Cependant, si vous souhaitez conserver l'ordre, une simple compréhension de liste suffit.
result = [a for a in A if a not in subset_of_A]
EDIT : comme le dit delnan, les performances seront considérablement améliorées si subset_of_A
est un set
réel, puisque la vérification de l'appartenance à un set
est O (1) par rapport à O(n) pour une liste.
A = [6, 7, 8, 9, 10, 11, 12]
subset_of_A = set([6, 9, 12]) # the subset of A
result = [a for a in A if a not in subset_of_A]
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.