Если заказ не важен, вы должны использовать set.difference
.Однако, если вы хотите сохранить порядок, достаточно всего лишь простого понимания списка.
result = [a for a in A if a not in subset_of_A]
РЕДАКТИРОВАТЬ: Как говорит Делнан, производительность будет существенно улучшена, если subset_of_A
фактический set
, поскольку проверка на членство в set
- это O (1) по сравнению с O (n) для списка.
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]