[파이썬] 리스트의 다차원 배열

리스트는 파이썬에서 가장 유용하게 사용되는 자료구조 중 하나입니다. 리스트 안에 다른 리스트를 포함하는 다차원 배열을 만들 수 있습니다. 이러한 기능을 통해 행렬이나 2D 게임 맵 등 다양한 자료를 표현할 수 있습니다.

2D 배열 생성하기

리스트의 다차원 배열을 생성하기 위해서는 리스트 안에 리스트를 추가해야 합니다. 다음은 3x3 크기의 2D 배열을 생성하는 예시입니다.

array_2d = [[1, 2, 3],
            [4, 5, 6],
            [7, 8, 9]]

위의 코드에선 array_2d 변수에 3개의 리스트를 포함하는 리스트가 할당되었습니다. 각각의 내부 리스트는 행(row)을 나타내며, 그 안에 포함된 요소들은 열(column)을 나타냅니다. 위의 코드는 다음과 같은 2D 배열을 생성합니다.

1  2  3
4  5  6
7  8  9

접근하기

2D 배열 안의 요소에 접근하기 위해서는 인덱스를 사용합니다. 첫 번째 인덱스는 행을 선택하고, 두 번째 인덱스는 열을 선택합니다. 예를 들어, array_2d의 첫 번째 행과 두 번째 열에 접근하는 코드는 다음과 같습니다.

value = array_2d[0][1]

위의 코드는 value 변수에 2를 할당합니다. 이는 array_2d의 첫 번째 행의 두 번째 열에 위치한 값입니다.

배열 순회하기

다차원 배열의 모든 요소에 접근하려면 중첩된 반복문을 사용해야 합니다. 예를 들어, array_2d의 모든 요소에 접근하여 출력하는 코드는 다음과 같습니다.

for row in array_2d:
    for value in row:
        print(value, end=' ')
    print()

위의 코드는 다음과 같이 결과를 출력합니다.

1 2 3 
4 5 6 
7 8 9

요소 수정 및 추가하기

2D 배열에서 특정 요소의 값을 수정하기 위해서도 인덱스를 사용합니다. 다음은 array_2d의 첫 번째 행의 첫 번째 열 값을 0으로 변경하는 예시입니다.

array_2d[0][0] = 0

위의 코드를 실행하면 다음과 같은 배열이 생성됩니다.

0  2  3
4  5  6
7  8  9

또한, 배열에 새로운 행이나 열을 추가하기 위해서는 append() 메서드를 사용할 수 있습니다. 예를 들어, array_2d에 새로운 행을 추가하는 코드는 다음과 같습니다.

new_row = [10, 11, 12]
array_2d.append(new_row)

위의 코드를 실행하면 다음과 같은 배열이 생성됩니다.

0  2  3
4  5  6
7  8  9
10 11 12

결론

리스트의 다차원 배열은 파이썬에서 강력하게 활용할 수 있는 자료구조입니다. 2D 배열을 사용하면 행렬 연산이나 복잡한 데이터 구조에 적용하기 용이합니다. 자유롭게 리스트 내부에 리스트를 추가하고 배열을 다루며, 필요에 따라 배열의 요소를 수정하거나 새로운 요소를 추가할 수 있습니다.

더 자세한 내용은 파이썬 공식 문서나 파이썬 튜토리얼을 참고하시길 바랍니다.