Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 집합(Set)의 요소를 리스트에서 추출하는 방법

파이썬에서 집합(Set)에 포함된 요소들을 리스트로부터 추출해야 하는 경우, 간단한 for 반복문과 기본 조건문을 활용하면 손쉽게 해결할 수 있습니다.

예제 코드

아래는 실제 구현 예시입니다.

my_list = [5, 7, 2, 7, 2, 4, 9, 8, 8]

print("리스트 출력 :")
print(my_list)

search_set = {6, 2, 8}

my_result = []
for element in my_list:

   if element in search_set:
      my_result.append(element)

print("결과 출력 :")
print(my_result)

실행 결과

리스트 출력 :
[5, 7, 2, 7, 2, 4, 9, 8, 8]
결과 출력 :
[2, 2, 8, 8]

코드 설명

  • 먼저 하나의 리스트를 정의하고 콘솔에 출력합니다.

  • 검색 대상이 되는 특정 요소들을 담은 집합(Set)을 별도로 정의합니다.

  • 추출된 결과를 저장할 빈 리스트를 생성합니다.

  • for 반복문을 사용해 리스트의 각 요소를 순회하면서, 해당 요소가 집합에 존재하는지 확인합니다.

  • 집합에 존재하는 요소라면 빈 리스트에 추가(append)합니다.

  • 최종적으로 필터링된 결과 리스트가 콘솔에 출력됩니다.

참고: 더 파이썬다운 방법

위 코드는 다음과 같이 리스트 컴프리헨션(List Comprehension)을 사용하면 한 줄로 간결하게 표현할 수 있습니다.

my_result = [element for element in my_list if element in search_set]

또한 집합(Set)은 내부적으로 해시 테이블을 사용하기 때문에 멤버십 검사(in 연산)의 시간 복잡도가 O(1)입니다. 따라서 리스트 대신 집합으로 검색 조건을 정의하면 대용량 데이터에서도 매우 빠른 성능을 기대할 수 있습니다.