[Python] 2차원 리스트를 1차원으로 변환하기(flatten)

azzurri21·2022년 2월 8일
0

방법1: sum() 함수

mylist = [[1], [2, 3]]

sum(mylist, [])
>> [1, 2, 3]

리스트의 +연산을 활용한다. sum() 함수의 두 번째 인자 start=0이 default 값이다. 따라서 start=[]를 전달하여 int형이 아닌 리스트형으로 덧셈을 시작하도록 한다.

방법2: itertools.chain() 함수

mylist = [[1], [2, 3]]

list(chain(*mylist))
list(chain.from_iterable(mylist))
>> [1, 2, 3]
>> [1, 2, 3]

chain()은 generator 형태를 반환하므로 list로 형변환한다.
.from_terable은 그냥 chain()과 달리 iterable을 입력으로 받는다.

profile
파이썬 백엔드 개발자

0개의 댓글