나는 처음에 0Pythonic 2d 배열을 만드는 방법?
이 내가 그것을 할 생각 어떻게 설정 정수 값의 2 차원 배열을 만들려면 :
grid = [[0] * width] * height
을하지만 이것은 단지 원본에 대한 참조로 각 행을 생성 그래서 같은 것을하는 것
grid[0][1] = 1
값은 모든 그리드 [n] [1] 값을 수정합니다.
grid = [[0 for x in range(width)] for y in range(height)]
그것은 잘못된 느낌이 할 수있는 더 좋은 더 파이썬 방법이 :
이 내 솔루션입니다?
EDIT : 격자 크기가 절대 변경되지 않고 튜플 또는 array.array와 같은 것을 사용해야하는 경우 보너스 질문이 필요합니까?
왜'[0] * 폭 * 하나만리스트 '[0] * 폭]'만들 것이다 – zeffii
@zeffii은 (l1' '로 생각할) height' 만들 목록 그것들은 모두'l1 '에 대한 참조 인'height' 요소를 가지고 있습니다. 따라서 모든 목록을 변경하면 다른 모든 목록에도 반영됩니다. – thefourtheye
우수, 감사합니다! – zeffii