최대 1 분 소요


2중 for문으로 2중 리스트 선언

array = [[0 for col in range(11)] for row in range(10)]

11x10 리스트를 생성합니다.  = (11열 10행) 

(column : 열  row : 행)   , 열은 세로줄, 행은 가로줄입니다.

*연산자와 for문으로 리스트 선언

array = [[0]*11 for i in range(10)]

연산자 *로 2중 리스트 선언

array = [[0]*11 ]*10

for문으로 선언할때와 결과는 같습니다.

이 방법으로 배열을 선언하게 되면, 단순히 요소를 복사하게 되는 얕은복사 (shallow copy)가 일어난다. 단순히 요소를 복사하다 보니 바라보는 객체는 동일하다. 즉, 이러한 방식으로 선언 뒤에, 값을 변경하게되면 다른 원소들도 값이 변경되는 현상이 발생하게 되므로 이를 인지하고, 후에 대입연산자를 통해 값을 변경하지 않는 경우에만 사용하는것이 좋다.

2중 리스트의 인덱스(index)

# array[row][col]
array[3][1] = "@" 

4번째 행 , 두번째 열을 “@”로 바꾸는 코드입니다. (index는 0부터 시작이므로 +1을 했다고 생각해야합니다.)

2중 리스트 출력

보기 좋게 출력하려면 for문을 이용해아 합니다. 2중 배열이기 때문에 2중 for문을 사용하여 출력합니다.

for i in array :
    for j in i:
        print(j,end=" ")
    print()



참고문헌

파이썬 (Python) 2중 리스트, 2차원 배열 선언 및 출력