Как сделать пересечение массивов в Python

Python Senior Без компании
Как сделать пересечение массивов в Python
Ответы
Для нахождения пересечения массивов (общих элементов) в Python можно использовать несколько подходов: - Через преобразование в множества (эффективно, но теряет порядок и дубликаты): ``` arr1 = [1, 2, 2, 3] arr2 = [2, 3, 4] intersection = list(set(arr1) & set(arr2)) # [2, 3] ``` - С использованием list comprehension (сохраняет порядок первого массива): ``` intersection = [x for x in arr1 if x in arr2] ``` - С помощью `collections.Counter` (сохраняет количество повторений): ``` from collections import Counter counter1 = Counter(arr1) counter2 = Counter(arr2) intersection = list((counter1 & counter2).elements()) ``` Для больших массивов лучше использовать первый вариант, так как операции с множествами выполняются за O(1) в среднем. Если важен порядок или нужно сохранить дубликаты - подойдут другие варианты.