포스트

리스트 안의 리스트를 단일 리스트로 만들기

문제 설명

다수의 사용자들이 프로그래밍을 하다가 자주 부딪히는 문제 중 하나는 ‘리스트 안에 있는 리스트를 단일 리스트로 어떻게 변환할 수 있을까?’입니다. 예를 들어, [[1, 2, 3], [4, 5], [6, 7, 8]]라는 리스트를 [1, 2, 3, 4, 5, 6, 7, 8]과 같은 단일 리스트로 만들고 싶을 때가 있습니다.

파이썬에서의 해결 방법

파이썬에서는 이 문제를 해결하기 위한 여러 가지 방법이 있습니다.

리스트 컴프리헨션(List Comprehension) 사용

리스트 컴프리헨션은 리스트를 간결하게 생성할 수 있는 방법입니다. 아래의 코드를 보면 이해가 더 쉬울 것입니다.

1
2
nested_list = [[1, 2, 3], [4, 5], [6, 7, 8]]
flat_list = [elem for sublist in nested_list for elem in sublist]

flat_list는 이제 [1, 2, 3, 4, 5, 6, 7, 8]이 됩니다.

extend() 메소드 사용

extend() 메소드를 사용하면 기존 리스트에 다른 리스트의 원소를 추가할 수 있습니다.

1
2
3
4
nested_list = [[1, 2, 3], [4, 5], [6, 7, 8]]
flat_list = []
for sublist in nested_list:
    flat_list.extend(sublist)

itertools.chain 함수 사용

itertools 라이브러리에 있는 chain 함수도 사용할 수 있습니다. 이 함수는 여러 개의 리스트를 연결하여 하나의 리스트로 만들어 줍니다.

1
2
3
from itertools import chain
nested_list = [[1, 2, 3], [4, 5], [6, 7, 8]]
flat_list = list(chain(*nested_list))

정리

리스트 안의 리스트를 단일 리스트로 만드는 방법은 다양합니다. 상황과 필요에 따라 적절한 방법을 선택하여 사용하면 됩니다. 이러한 기술은 데이터 처리나 알고리즘 문제 해결에서도 자주 사용되므로 익혀두면 매우 유용합니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.