중첩 목록은 요소가 목록 자체인 목록입니다. 중첩 목록인 Python 데이터 컨테이너가 있는 경우 각 요소를 추가로 처리할 수 있도록 이를 평면 목록으로 변환해야 할 수도 있습니다.
내부 요소도 자체적으로 중첩될 수 있습니다. 그리고 여러 겹의 중첩이 있을 수 있습니다. 따라서 우리는 재귀를 사용하여 이 문제에 접근할 것입니다. 요소가 중첩되어 있는지 계속 확인하고 요소가 더 이상 목록이 아닐 때까지 계속해서 함수를 계속 적용합니다. 요소가 목록이 아닌 것으로 확인되면 목록의 중첩되지 않은 모든 요소를 포함할 새 목록에 추가합니다.
예시
listA =[[43, [0]],12, 19, [13,[8, 8]], 21 ]print('주어진 중첩 목록:\n', listA)# 평면 목록 =[]# functiondef flatlist(l):for x in l:if type(x) ==list:flatlist(x) else:res.append(x)flatlist(listA)print('평평한 목록이 생성됨:\n', res)사전>출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
주어진 중첩 목록:[[43, [0]], 12, 19, [13, [8, 8]], 21]평평한 목록이 생성됨:[43, 0, 12, 19, 13, 8, 8 , 21]