Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
07 Июл 2023
2 мин
4955

Сравнение списков в Python и поиск совпадающих элементов

Иногда может возникнуть необходимость сравнить два списка в Python и найти совпадающие элементы. Рассмотрим пример: Цель — создать функцию, которая

Иногда может возникнуть необходимость сравнить два списка в Python и найти совпадающие элементы. Рассмотрим пример:

список_1 = [1, 2, 3, 4, 5]
список_2 = [9, 8, 7, 6, 5]

Цель — создать функцию, которая принимает на вход два списка и возвращает список с элементами, которые присутствуют в обоих списках. В данном случае, таким элементом будет число 5.

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Решение с использованием циклов

Простейшим решением будет использование двух вложенных циклов. Первый цикл будет проходить по элементам первого списка, а второй — по элементам второго списка. Если элементы совпадают, то они добавляются в итоговый список.

def returnMatches(a, b):
    matches = []
    for i in a:
        if i in b:
            matches.append(i)
    return matches

Решение с использованием множеств

Еще одним эффективным способом решения этой задачи является использование множеств в Python. Множества — это неупорядоченные коллекции уникальных элементов. Они поддерживают операции, которые обычно применяются к математическим множествам, такие как объединение, пересечение и разность.

В Python множества можно создать с помощью функции set() или с помощью фигурных скобок {}.

def returnMatches(a, b):
    return list(set(a) & set(b))

На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

В данном случае используется операция пересечения (&), которая возвращает элементы, присутствующие в обоих множествах. Затем результат преобразуется обратно в список с помощью функции list().

Оба подхода успешно решают задачу, однако использование множеств обеспечивает более высокую производительность на больших объемах данных.

Тест на профориентацию
За 10 минут узнайте, как ваш опыт пригодиться в IT индустрии
Подробнее
Тест на профориентацию

Добавить комментарий