Profile picture

[Python] 파이썬 리스트 평탄화

JaehyoJJAng2023년 06월 01일

문제

  • 재귀함수를 이용하여 리스트를 평탄화하는 함수 만들기

변수 : [[1,2,3],4,[5,[6,7,8]],[9,10]] 변환 : [1,2,3,4,5,6,7,8,9,10]


풀이

  • 평탄화 시킨 요소를 넣은 빈 리스트 정의
  • 리스트 안에 접근하기 위해 반복문 사용
  • 리스트 안에 자료형을 판별하기 위해 type() 함수 사용
    • 리스트 안의 자료형이 리스트라면 재귀함수 사용

코드

def flatten(data: List[Union[int,list]]) -> List[int]:
    output = []

    for item in data:
        if type(item) == list:
            # 재귀함수 사용
            output.extend(flatten(data=item))
        else:
            output.extend(item)
    return output

Loading script...