콘텐츠로 건너뛰기

파이썬을 사용하여 리스트 평평하게 만드는 방법

CodeMDD.io

Python에서 List 평탄화하기

for 문을 사용하여 List of Lists 평탄화하기

Python에서 List of Lists를 평탄화하는 방법은 어떤가요? 일반적으로 List of Lists를 평탄화하기 위해 다음 단계를 명시적으로 또는 암시적으로 실행할 수 있습니다:

  1. 평탄화된 데이터를 저장할 비어있는 새 List를 생성합니다.
  2. 원본 List에서 각 중첩 List 또는 하위 List반복합니다.
  3. 현재 하위 List의 각 항목을 평탄화된 데이터를 저장하는 List에 추가합니다.
  4. 평탄화된 데이터가 포함된 List를 반환합니다.

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라는 새로운 비어있는 List를 생성합니다. 이 List는 matrix에서 추출한 평탄화된 데이터를 저장하는 데 사용됩니다. 그런 다음 matrix의 내부 또는 중첩된 List를 반복하는 루프를 시작합니다. 이 예제에서 현재 중첩된 List를 나타내기 위해 row라는 이름을 사용합니다.

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

matrix = [
[9, 3, 8, 3],
[4, 5, 2, 8],
[6, 4, 3, 1],
[1, 0, 4, 5],
]
result = flatten_extend(matrix)
print(result)

위 코드를 실행하면 다음과 같이 출력됩니다:

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

이제 matrix가 상기한 List와 같이 평탄화되어 한 차원의 List를 얻을 수 있게 되었습니다.

이 방법은 모든 Python 버전에서 작동하며, 읽기 쉬우면서도 명확한 방법입니다. 하지만 Python에는 사용할 수 있는 다른 방법들도 있습니다. 계속해서 다음 방법을 살펴보도록 합시다.