파이썬 2차원 배열 생성하기

By | 2016/11/06

Coursera에서 알고리즘 수업을 진행하며 코딩 숙제를 풀던 중 2차원 배열을 만들어야 할 일이 생겼다. 아무 생각 없이 2차원 배열을 생성하고 코딩했더니 자꾸 배열에 값들이 원하는대로 들어가지 않더라. 알고보니 아래와 같은 차이가!!!

 
# 3*3의 2차원 배열 생성하기

#방법 1 - 나의 실수
list1 = [[0]*3]*3
list1[0][0] = 1
print list1 # [[1,0,0],[1,0,0],[1,0,0]]

#방법 2
list2 = [[0]*3 for i in range(3)]
list2[0][0] = 1
print list2 # [[1,0,0],[0,0,0],[0,0,0]]