파이썬 리스트의 리스트로 어떻게 사용/수정하는지?
Python 리스트의 리스트 펼치기
Python에서 데이터 작업을 할 때, 데이터를 중첩된 리스트로 가지고 있을 수 있습니다. 일반적인 작업 중 하나는 Python에서 중첩된 리스트를 1차원 리스트로 펼치는(flatten) 것입니다. 리스트 펼치기는 행렬과 같은 다차원 리스트를 1차원 리스트로 변환하는 작업을 말합니다.
리스트를 펼치는 것을 더 명확하게 설명하기 위해, 다음과 같은 숫자 값의 행렬이 있다고 가정해 봅시다:
위와 같이 행렬을 어떻게 펼칠 수 있을까요? 이 튜토리얼에서는 Python에서 그것을 어떻게 할 수 있는지 배워보겠습니다.
for
루프를 사용하여 리스트의 리스트 펼치는 방법
Python에서 리스트의 리스트를 어떻게 펼칠 수 있을까요? 일반적으로 리스트의 리스트를 펼치려면 다음 단계를 명시적으로 또는 암시적으로 실행할 수 있습니다:
- 펼친 데이터를 저장할 새로운 빈 리스트를 생성합니다.
- 원본 리스트의 각 중첩된 리스트 또는 서브리스트를 **반복(iterate)**합니다.
- 현재 서브리스트의 각 항목을 펼친 데이터 리스트에 추가합니다.
- 결과로 얻은 펼친 데이터 리스트를 반환합니다.
matrix
예제를 계속하기 전에, for
루프와 .extend()
메서드를 사용하여 이러한 단계를 Python 코드로 변환하는 방법은 다음과 같습니다:
flatten_extend()
내부에서, 먼저 flat_list
라는 새로운 빈 리스트를 생성합니다. 이 리스트는 matrix
에서 추출한 펼친 데이터를 저장하는 데 사용됩니다. 그런 다음, matrix
의 중첩된 리스트를 반복하는 루프를 시작합니다. 이 예제에서는 현재 중첩된 리스트를 나타내기 위해 row
라는 이름을 사용합니다.
이제 아래 코드를 실행하여 함수가 예상대로 작동하는지 확인해 보세요. 매트릭스를 펼친 리스트가 반환되는지 확인하세요.