이중 리스트를 평탄화하는 방법을 손쉽게 배우세요.
Python 리스트에 있는 리스트 펼치기 (flatten)
for 루프를 사용하여 리스트 펼치기
Python에서 리스트를 펼치는 공통 작업은 다차원 리스트를 일차원 리스트로 변환하는 것입니다. 이번 튜토리얼에서는 Python에서 이 작업을 어떻게 수행하는지 알아보겠습니다.
다차원 리스트를 펼치는 것은 다음과 같은 행렬이라는 예를 가지고 더욱 설명해 보겠습니다:
위의 matrix
변수는 네 개의 중첩된 리스트를 포함하는 Python 리스트입니다. 각 중첩된 리스트는 행을 나타냅니다. 행은 각각 네 개의 아이템이나 숫자를 저장합니다. 이제 이 행렬을 다음과 같은 리스트로 변환하고 싶다고 가정해 보겠습니다:
위와 같은 행렬을 어떻게 평활화하고, 위와 같은 일차원 리스트를 얻을 수 있을까요? 이 튜토리얼에서는 Python에서 어떻게 이 작업을 수행하는지 알아보겠습니다.
for 루프를 사용하여 리스트 펼치기
Python에서 리스트를 어떻게 평활화할까요? 일반적으로 리스트를 평활화하기 위해 다음과 같은 단계를 명시적이거나 암묵적으로 실행할 수 있습니다:
평광화된 데이터
를 저장하기 위한 새로운 빈 리스트를만드세요
.- 원본 리스트의 각
중첩된 리스트
또는서브리스트
를반복
합니다. - 현재 서브리스트의 각
아이템
을평활화된 데이터
리스트에추가
합니다. 평활화된 데이터
를 포함한 결과 리스트를반환
합니다.
matrix
예제를 계속 진행하면서 for
루프와 .extend()
메소드를 사용하여 이러한 단계를 어떻게 Python 코드로 변환할 수 있는지 살펴보겠습니다:
flatten_extend()
함수 내부에서 먼저 flat_list
라는 새로운 빈 리스트를 만듭니다. 이 리스트는 데이터를 추출한 후 평활화된 데이터를 저장하는 데 사용됩니다. 그런 다음 matrix
에서 중첩된 리스트를 반복하기 위해 루프를 시작합니다. 이 예제에서는 현재 중첩된 리스트를 나타내는 row
라는 이름을 사용합니다.
이제 해당 코드를 실행하여 함수가 기능을 잘 수행하는지 확인해 보세요.