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

Python – 리스트의 리스트를 집합(set)의 리스트로 변환하는 방법

Python에서 중첩된 리스트(리스트의 리스트)를 집합(set)의 리스트로 변환해야 하는 경우가 있습니다. 예를 들어 각 내부 리스트에서 중복 요소를 제거하고 싶을 때 유용합니다. 이때 map, set, list 함수를 함께 사용하면 간단하게 해결할 수 있습니다.

예제 코드

아래는 리스트의 리스트를 집합의 리스트로 변환하는 방법을 보여주는 예제입니다.

my_list = [[2, 2, 2, 2], [1, 2, 1], [1, 2, 3], [1,1], [0]]

print("변환 전 리스트:")
print(my_list)

my_result = list(map(set, my_list))

print("변환 후 결과 리스트:")
print(my_result)

실행 결과

변환 전 리스트:
[[2, 2, 2, 2], [1, 2, 1], [1, 2, 3], [1, 1], [0]]
변환 후 결과 리스트:
[set([2]), set([1, 2]), set([1, 2, 3]), set([1]), set([0])]

코드 설명

  • 먼저 리스트의 리스트를 정의하고 콘솔에 출력하여 원본 데이터를 확인합니다.

  • map(set, my_list) 구문은 set 함수를 내부 리스트의 각 요소에 차례대로 적용하여, 각 리스트를 집합으로 변환합니다.

  • map 객체는 이터러블이므로 list() 함수를 사용해 다시 리스트 형태로 변환합니다.

  • 최종 결과는 변수 my_result에 할당됩니다.

  • 변환된 결과가 콘솔에 출력되며, 각 집합에서 중복된 요소가 자동으로 제거된 것을 확인할 수 있습니다.

참고 사항

set은 순서를 보장하지 않으므로, 변환 결과에서 요소의 출력 순서는 실행 환경에 따라 달라질 수 있습니다. 또한 동일한 작업은 리스트 컴프리헨션을 사용해 [set(sub) for sub in my_list]와 같이 작성할 수도 있으며, 이 방식 역시 가독성이 좋아 널리 사용됩니다.