> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 두 중첩 목록의 교차점을 어떻게 찾나요?

Python에서 두 중첩 목록의 교차점을 어떻게 찾나요?

DDD
풀어 주다: 2024-11-30 16:54:10
원래의
934명이 탐색했습니다.

How Do You Find the Intersection of Two Nested Lists in Python?

중첩 목록의 교차점 결정

두 개의 단순 목록의 교차점을 찾는 과정은 간단합니다. 그러나 중첩된 목록을 처리하면 더 복잡해집니다. 이 문서에서는 두 개의 중첩 목록에서 공통 요소를 추출하고 이를 중첩 형식으로 표시하기 위한 솔루션을 제공합니다.

해결책을 이해하려면 두 세트 또는 목록의 교집합이 컬렉션이라는 점에 유의하는 것이 중요합니다. 두 세트에 공통되는 요소의 수입니다. 중첩된 목록의 경우 각 목록의 개별 요소에 대해 교차 연산을 수행해야 합니다.

이를 달성하기 위해 Python에 내장된 집합 데이터 구조를 활용할 수 있습니다. 교차점 찾기. 다음 중첩 목록을 고려해 보세요.

c1 = [1, 6, 7, 10, 13, 28, 32, 41, 58, 63]
c2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]]
로그인 후 복사

우리의 목표는 이 두 목록의 교차점을 찾고 다음 결과를 얻는 것입니다.

c3 = [[13, 32], [7, 13, 28], [1, 6]]
로그인 후 복사

이를 달성하기 위해 중첩된 각 목록을 변환할 수 있습니다. 해당 요소 집합으로 나열합니다. 그런 다음 이러한 세트에 대해 교차 작업을 수행하여 공통 요소를 식별할 수 있습니다. 마지막으로, 원래 중첩 구조를 유지하면서 교차된 집합을 중첩된 목록으로 다시 변환할 수 있습니다.

# Convert each nested list to a set
set1 = set(c1)
set2s = [set(list_) for list_ in c2]

# Find the intersection of the sets
intersected_sets = set1.intersection(*set2s)

# Convert the intersected set back into a nested list
c3 = [[element for element in list_ if element in intersected_sets] for list_ in c2]
로그인 후 복사

이 단계를 수행하면 중첩된 목록의 교차점을 효율적으로 찾고 결과를 원하는 대로 표시할 수 있습니다. 형식입니다.

위 내용은 Python에서 두 중첩 목록의 교차점을 어떻게 찾나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿