더북(TheBook)

그러나 1차원 배열과 마찬가지로 이 책에서는 앞으로 예제용 라이브러리 중 stdarray 모듈에서 제공하는 stdarray.create2D(m, n, 0.0)함수를 이용해 배열을 생성할 것이다. 함수명으로 2차원 배열임을 쉽게 알 수 있다.

인덱싱 2차원 배열 a[][]에 대해 a[i]i 행을 참조한다. 예를 들어 a[][][[18, 19, 20], [21 22, 23]] 배열이라면 a[1][21, 22, 23]을 나타낸다. 2차원 배열에서 특정 요소를 참조할 때 a[i][j] 구문은 ij열에 있는 요소를 참조한다. 앞의 a[][] 배열에서 a[1][0]21이다. 2차원 배열에서 모든 요소에 접근하려면 내포된 for 루프를 사용한다. 예를 들어 다음 코드는 m x n 크기의 a[][] 배열을 화면 한 줄에 한 행씩 모두 출력한다.

for i in range(m):
    for j in range(n):
        stdio.write(a[i][j])
        stdio.write(' ')
    stdio.writeln()

다음 코드는 인덱스를 사용하지 않고 앞 코드와 똑같은 작업을 수행한다.

for row in a:
    for v in row:
        stdio.write(v)
        stdio.write(' ')
    stdio.writeln()
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.