Сравнение двух списков в Python

Опубликован: 20.11.2023 105

Довольно часто возникает задача сравнить два списка в Python и найти одинаковые элементы или имеющиеся различия.

Решить эту задачу можно разными способами, но одним из наиболее эффективных является использование множеств set, которые поддерживают операции, применяемые к математическим множествам, такие как объединение, пересечение и разность.

Для сравнения двух списков их можно перевести в множества с помощью функции set(), а затем применить к полученным множествам:

  • оператор & - intersection пересечение множеств, позволяющий найти множество элементов, присутствующих как в первом, так и во втором исходном множестве;
  • оператор ^ - symmetric difference симметрической разности множеств, позволяющий найти множество элементов, присутствующих либо в первом, либо во втором исходном множестве;
list_1 = [1, 3, 5, 7, 8, 9, 10]
list_2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

# сравнение двух списков и нахождение пересечения элементов:
print(list(set(list_1) & set(list_2)))
[1, 3, 5, 7, 8, 9, 10]     # intersection list_1 and list_2

# сравнение двух списков и вывод списка различий:
print(list(set(list_1) ^ set(list_2)))
[2, 4, 6, 11]   # symmetric difference

Похожие посты

Методы преобразования списка в строку и обратно

Удаление дубликатов из списка

Подсчет количества вложенных списков в списке

Поэлементное суммирование списков (кортежей)

Комментариев нет.