Встречается на собеседованиях • сегодня

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

Для нахождения пересечения массивов (общих элементов) в Python можно использовать несколько подходов:

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

Для больших массивов лучше использовать первый вариант, так как операции с множествами выполняются за O(1) в среднем. Если важен порядок или нужно сохранить дубликаты - подойдут другие варианты.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы