문제
- 재귀함수를 이용하여 리스트를 평탄화하는 함수 만들기
변수 : [[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