«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как эффективно найти пересекающиеся элементы в нескольких списках Python?

Как эффективно найти пересекающиеся элементы в нескольких списках Python?

Опубликовано 8 ноября 2024 г.
Просматривать:921

How to Find Intersecting Elements in Multiple Python Lists Efficiently?

Идентификация общих элементов в нескольких списках Python

В Python извлечение пересечения двух списков может быть достигнуто с помощью функции set.intersection(). Однако определение пересечения нескольких списков становится более сложным. Вот решение для эффективной идентификации общих элементов в нескольких списках:

Формула, представленная в ответе, set.intersection(*map(set,d)), предлагает краткий и эффективный способ найти пересечение между несколько списков. Давайте разберем его компоненты:

  • d представляет список списков, где каждый элемент сам является списком.
  • map(set, d) преобразует каждый внутренний список внутри d в set, эффективно удаляя повторяющиеся элементы.
  • * распаковывает кортеж, сгенерированный картой, чтобы передать каждый набор в качестве отдельного параметра в set.intersection().

Соединяя эти операции вместе, мы получаем пересечение всех множеств (изначально списков), содержащихся в списке d. В данном примере:

d = [[1,2,3,4], [2,3,4], [3,4,5,6,7]]

Код set.intersection(*map(set,d)) даст желаемый результат:

[3, 4]

Этот подход использует эффективность заданной структуры данных для быстрого устранения дубликатов при сохранении порядка общих элементов.

Заявление о выпуске Эта статья перепечатана по адресу: 1729519394. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3