2016-05-19 4 views
0

Я выполняю операцию списка, как показано ниже в python, она отлично работает, но порядок элементов сортируется, в идеале, я хочу, чтобы порядок элементов в LISTC был таким же, как в LISTA, удаляющем элементы из LISTB, как я могу это сделать ?как сохранить порядок элементов в списке?

LISTC = list(set(LISTA) - set(LISTB)) 
+0

http://stackoverflow.com/questions/9792664/set-changes-element-order –

+0

Возможные Дубликат [Получить разницу между двумя списками] (http://stackoverflow.com/q/3462143)? (см. второй ответ) –

ответ

0

Остановить удаление заказа с вашего типа.

LISTC = [el for el in LISTA if el not in set(LISTB)] 
+2

Вы должны создать 'set (LISTB)' вне понимания. Создание его внутри понимания воссоздает его на каждой итерации, в первую очередь побеждая преимущество использования набора. – user2357112

Смежные вопросы