аватар question@mail.ru · 01.01.1970 03:00

Сравнение 2-ух списков в python

Здравствуйте, имеется два списка

    Ans = ['red','blue','green','white']    Word = ['red','white']

Нужно сравнить два списка и совпадающие элементы вывести в отдельный список,скажем, result. Такой вопрос уже был, но я никак не могу понять как одинаковые элементы вывести.

аватар answer@mail.ru · 01.01.1970 03:00

Все таки Python динамичен и выразителен. Этого у него не отнять.

Там некоторые .

Вот Ваш однострочник:

result=list(set(Ans) & set(Word))

Это даст пересечение обоих списков:

['red', 'white']

Если нужен список уникальных элементов в объединении двух списков:

['red', 'white', 'green', 'blue']result = list(set(Ans + Word))

Симметричная разность:

['green','blue']result=list(set(Ans) ^ set(Word))

Обычная разность(Множество из Ans не входящее в Word):

['green','blue']result=list(set(Ans) - set(Word))

Вариант, сохраняющий порядок с меньшим количеством конверсий типов:

sbuf = set(Word)result = [x for x in Ans if x in sbuf)]

Последние

Похожие