07 Июл 2023
2 мин
3823

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

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

Содержание

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

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

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

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

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

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))

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

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

Содержание

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

Узнай профессию по рисунку