콘텐츠로 건너뛰기

파이썬에서 리스트의 리스트를 평평하게 만드는 방법은?

[

Python에서 다차원 리스트를 평탄화하는 방법

중급 데이터 과학

데이터 작업을 할 때 종종 데이터가 중첩된 리스트로 주어질 수 있습니다. 이런 경우, Python에서는 데이터를 1차원 리스트로 평탄화하는 일이 흔히 발생합니다. 리스트를 평탄화하는 것은 행렬과 같은 다차원 리스트를 1차원 리스트로 변환하는 작업을 의미합니다.

리스트를 평탄화하는 개념을 더 잘 이해하기 위해, 다음과 같은 숫자 값 행렬이 주어진다고 가정해봅시다:

>>> matrix = [
... [9, 3, 8, 3],
... [4, 5, 2, 8],
... [6, 4, 3, 1],
... [1, 0, 4, 5],
... ]

matrix 변수는 네 개의 중첩된 리스트를 포함하는 Python 리스트입니다. 각 중첩된 리스트는 행을 나타냅니다. 각 행은 네 개의 항목 또는 숫자로 구성됩니다. 이제 이 행렬을 다음과 같은 리스트로 변환하려고 합니다:

[9, 3, 8, 3, 4, 5, 2, 8, 6, 4, 3, 1, 1, 0, 4, 5]

위와 같은 방식으로 매트릭스를 평탄화하고 위와 같은 1차원 리스트를 얻을 수 있는 방법은 무엇일까요? 이 튜토리얼에서는 Python에서 이를 어떻게 수행하는지 알아보겠습니다.

for 루프를 사용하여 리스트의 중첩된 리스트를 평탄화하는 방법

Python에서 어떻게 중첩된 리스트를 평탄화할 수 있을까요? 일반적으로 리스트의 중첩된 리스트를 평탄화하려면 다음 단계를 명시적으로 또는 암묵적으로 실행할 수 있습니다:

  1. 평탄화된 데이터를 저장할 새로운 빈 리스트를 생성합니다.
  2. 원래 리스트의 각 중첩된 리스트 또는 하위 리스트를 반복합니다.
  3. 현재 하위 리스트의 각 항목을 평탄화된 데이터 리스트에 추가합니다.
  4. 평탄화된 데이터가 포함된 결과 리스트를 반환합니다.

matrix 예시를 계속 사용하여 for 루프와 .extend() 메서드를 사용하여 이러한 단계를 Python 코드로 어떻게 구현할 수 있는지 살펴보겠습니다:

def flatten_extend(matrix):
flat_list = []
for row in matrix:
flat_list.extend(row)
return flat_list

flatten_extend() 안에서 먼저 flat_list라는 새로운 빈 리스트를 만듭니다. 이 리스트는 matrix에서 추출한 평탄화된 데이터를 저장하는 데 사용됩니다. 그런 다음 matrix의 내부 또는 중첩된 리스트를 반복하기 위해 루프를 시작합니다. 이 예제에서는 현재 중첩된 리스트를 나타내기 위해 row라는 이름을 사용합니다.

이제 아래 코드를 실행하여 함수가 작동하는지 확인해보세요:

print(flatten_extend(matrix))

이 함수가 예상대로 작동하는지 확인하기 위해 다양한 행렬 예시를 사용해보세요. 함수가 주어진 행렬을 평탄화하는 결과를 잘 반환하는지 확인하세요.


정리

이 튜토리얼에서는 Python에서 다차원 리스트를 평탄화하는 방법에 대해 알아보았습니다. 중첩된 리스트를 평탄화하여 1차원 리스트로 변환할 수 있는 다양한 방법과 도구를 살펴보았습니다. 중첩 리스트의 각 항목을 반복하고, .extend(), itertools.chain(), functools.reduce(), sum(), NumPy 등의 메서드 및 도구를 사용하여 리스트를 평탄화하는 방법을 알아보았습니다.

다차원 리스트를 평탄화하는 것은 데이터 처리 및 데이터 과학과 관련된 작업에서 매우 일반적이며 유용한 작업입니다. 다양한 방법을 사용하여 리스트를 평탄화하는 기술을 배우고 연습함으로써 데이터 분석 작업에서 효율성을 향상시킬 수 있습니다.

평탄화된 리스트를 생성하려면 데이터에 대한 이해와 감각이 필요합니다. 데이터 구조와 데이터 과학의 기초를 이해함으로써 실생활에서 발생하는 다양한 데이터 작업을보다 효과적으로 수행할 수 있습니다.

이제 Python에서 리스트를 평탄화하는 기술을 배웠으므로 데이터 분석 및 데이터 과학 프로젝트에서 이 기술을 활용하여 데이터를 처리해보세요. 이를 통해 데이터 작업에 대한 이해를 높이고 데이터 분석 프로세스 및 결과를 개선할 수 있습니다.

이 튜토리얼에서는 Python으로 다차원 리스트를 평탄화하는 방법에 대해 알아보았습니다. 다른 방법과 메서드를 사용하여 리스트를 평탄화하는 방법도 있습니다. Python에서 데이터를 다루는 작업을 할 때 꼭 필요한 기술인만큼, 이를 통해 여러분의 데이터 작업에 도움이 될 것입니다.