파이썬에서 리스트를 평탄화 하는 방법
Python에서 리스트를 평탄화하는 방법
데이터를 처리할 때 종종 데이터를 중첩된 리스트의 형태로 가지고 있을 수 있습니다. 이러한 데이터를 Python에서는 **평탄화(flatten)**해서 한 차원의 리스트로 변환하는 작업을 자주 수행합니다. 리스트를 평탄화하는 것은 행렬과 같은 다차원 리스트를 한 차원의 리스트로 변환하는 것을 의미합니다.
평탄화된 리스트가 무엇인지 좀 더 명확히 설명하기 위해 다음과 같은 숫자 값 행렬이 있다고 가정해 봅시다.
matrix
변수는 네 개의 중첩된 리스트를 포함하는 Python 리스트를 저장합니다. 각 중첩된 리스트는 행을 나타냅니다. 행은 각각 네 개의 항목이나 숫자를 저장합니다. 이제 이 행렬을 다음과 같은 리스트로 변환하고 싶다고 가정해 봅시다.
이렇게 행렬을 평탄화하고 위의 예시와 같은 한 차원의 리스트를 얻으려면 어떻게 해야 할까요? 이 튜토리얼에서는 Python에서 이 작업을 어떻게 수행하는지 알아보겠습니다.
for
루프를 사용하여 리스트 평탄화하기
Python에서 리스트를 평탄화하는 방법은 무엇일까요? 일반적으로 리스트를 평탄화하려면 다음과 같은 단계를 명시적으로 또는 암시적으로 실행할 수 있습니다:
- 평탄화된 데이터를 저장할 빈 리스트를 생성합니다.
- 원본 리스트의 각 중첩된 리스트 또는 하위 리스트를 반복합니다.
- 현재 하위 리스트의 각 항목을 평탄화된 데이터 리스트에 추가합니다.
- 평탄화된 데이터가 포함된 결과 리스트를 반환합니다.
matrix
예시를 계속 사용하여 다음과 같은 방법으로 이러한 단계를 Python 코드로 변환해 보겠습니다. 이 코드에서는 for
루프와 .extend()
메서드를 사용합니다.
flatten_extend()
함수 내부에서는 먼저 flat_list
라는 비어있는 새로운 리스트를 만듭니다. 이 리스트는 matrix
에서 추출한 평탄화된 데이터를 저장하는 데 사용됩니다. 그런 다음 루프를 시작하여 matrix
의 내부, 즉 중첩된 리스트를 반복합니다. 이 예제에서는 현재 중첩된 리스트를 나타내기 위해 row
라는 이름을 사용합니다.
각 반복에서 .extend()
를 사용하여 현재 하위 리스트의 내용을 flat_list
에 추가합니다. 이 메서드는 반복 가능한 객체를 인수로 사용하고 해당 객체의 항목을 대상 리스트의 끝에 추가합니다.
이제 다음 코드를 실행하여 함수가 원하는 작업을 수행하는지 확인해 보세요:
위의 코드에서 원하는 결과가 출력되는지 확인하십시오. 위의 코드에서 생성한 flatten_extend()
함수는 원본 리스트를 평탄화하고 결과 리스트를 반환합니다.
이와 같은 방법으로 리스트를 평탄화할 수 있습니다. 이러한 방법들을 참고하여 Python에서 리스트를 평탄화하는 데 도움이 되기를 바랍니다!