본문 바로가기

Python

[python] 재귀함수를 사용한 list 평탄화 (flatten)

반응형
def flatten(input):
    output = []
    for v in input:
        if isinstance(v, list):
            output.extend(flatten(v))
        else:
            output.extend([v])
    return output

a = [[1,1],2,[2,[1,2,3],3]]

print(flatten(a))

 

flatten 함수에서 리스트면 재귀 함수를 돌리는 식으로 리스트내의 원소를 1차원 적으로 만드는 코드.

 

결과 출력

[1, 1, 2, 2, 1, 2, 3, 3]
반응형