filmov
tv
Семинар 2 - Список общих элементов
Показать описание
Если есть 2 списка, то как получить новый список, куда войдут элементы, которые есть только в обоих изначальных? Простое решение "в лоб" - как всегда с помощью цикла for и проверки условия. Однако, оно не эффективно с точки зрения производительности - если списки большие, то процедура займёт очень много времени (каждый раз для каждого элемента из 1 списка надо проходить по 2 "а вдруг он там есть") - это не наш путь!
Красивое решение 2 способом - превратить оба списка в множества и воспользоваться математической операцией "пересечение", доступной для множеств в Python. Этот способ тоже не идеален, т.к. множества в Python хранят элементы, упорядоченными по хешу, а не по значению (с бытовой точки зрения это иногда одно и то же, а иногда превращает сортировку в "кашу"), так что элементы могут и "перемешаться". Если вас это не смущает - лучше использовать 2й способ.