SeouliteLab

[Python/파이썬] 2차원 리스트를 1차원 리스트로 만들기 본문

프로그래밍

[Python/파이썬] 2차원 리스트를 1차원 리스트로 만들기

Seoulite Lab 2024. 3. 5. 08:42

2차원 리스트는 리스트 안에 리스트가 포함된 형태로 구성됩니다. 때로는 2차원 리스트를 1차원 리스트로 변환해야 하는 경우가 있습니다. 이번 글에서는 Python을 사용하여 2차원 리스트를 1차원 리스트로 만드는 여러 가지 방법을 살펴보겠습니다.

1. List Comprehension을 이용한 방법

List Comprehension을 사용하여 2차원 리스트의 각 요소를 1차원 리스트로 변환할 수 있습니다.

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flat_list = [element for sublist in matrix for element in sublist]
print(flat_list)

2. Nested for Loop를 이용한 방법

중첩된 for 루프를 사용하여 2차원 리스트의 각 요소를 1차원 리스트로 변환할 수 있습니다.

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flat_list = []
for sublist in matrix:
    for element in sublist:
        flat_list.append(element)
print(flat_list)

3. itertools.chain() 함수를 이용한 방법

itertools 모듈의 chain() 함수를 사용하여 2차원 리스트의 요소를 하나의 이터레이터로 연결한 후에 list() 함수를 사용하여 이를 리스트로 변환할 수 있습니다.

from itertools import chain

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flat_list = list(chain(*matrix))
print(flat_list)

4. Nested List Comprehension을 이용한 방법

중첩된 List Comprehension을 사용하여 2차원 리스트의 각 요소를 1차원 리스트로 변환할 수 있습니다.

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flat_list = [element for row in matrix for element in row]
print(flat_list)

5. sum() 함수를 이용한 방법

sum() 함수를 사용하여 2차원 리스트의 각 요소를 1차원 리스트로 합칠 수 있습니다.

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flat_list = sum(matrix, [])
print(flat_list)

6. reduce() 함수를 이용한 방법

functools 모듈의 reduce() 함수를 사용하여 2차원 리스트의 각 요소를 1차원 리스트로 합칠 수 있습니다.

from functools import reduce

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flat_list = reduce(lambda x, y: x + y, matrix)
print(flat_list)