List를 평탄화하는 방법에는 flatten함수를 사용하는 방법이 있다~
근데 그냥 함수를 쓰는 것보다 재귀함수를 사용하여 직접 구현해보는 것도 재밌는 것 같다~!
성능이 어떻게 나오는지는 확인해보지 않았으나,
재귀함수 특성상 메모리 사용도 많고 느린 경우도 많으니..
실사용할 때는 그냥 flatten() 쓰는게 좋을 것 같다..^^
example = [[1,2,3],[4,[5,6]],7,[8,9]]
def flatten_recursion(list):
flatten_list = []
for i in list:
if isinstance(i, __builtins__.list):
flatten_list.extend(flatten_recursion(i))
else:
flatten_list.extend([i])
return flatten_list
print(flatten_recursion(example))
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
'[ 개발 ] > Python' 카테고리의 다른 글
[Pycharm] 파이참 Heap Memory 설정 (0) | 2023.04.09 |
---|---|
[Python] 숫자/문자인지 구별하는 함수 (isalpha, isalnum, isnumeric, isdigit, isdecimal) (0) | 2022.11.13 |
[Python] 파이참에서 실행 & 설치 파일 만들기 (2) | 2022.06.17 |
[Python] ''.join(iterable)함수 정리 (0) | 2022.03.30 |
[Python] *args & **kwargs 정리 (0) | 2022.03.26 |