Python에서 2차원 배열 정의
길이를 지정하지 않고 2차원 배열을 초기화하면 " IndexError: 목록 인덱스가 범위를 벗어났습니다." 이는 Python에서 요소를 추가하기 전에 빈 목록으로 외부 목록을 초기화해야 하기 때문에 발생합니다.
이 문제를 해결하려면 목록 이해를 사용하여 배열을 만듭니다.
w, h = 8, 5 Matrix = [[0 for x in range(w)] for y in range(h)]
이렇게 하면 5개의 목록이 포함된 목록(각각 8개 항목 포함)은 모두 0으로 설정됩니다.
그런 다음 다음과 같이 배열에 요소를 추가할 수 있습니다. 다음은 다음과 같습니다.
Matrix[0][0] = 1 Matrix[6][0] = 3 # error! IndexError: list index out of range Matrix[0][6] = 3 # valid
행렬은 "y" 주소 메이저입니다. 즉, 외부 인덱스(y)가 내부 인덱스(x) 앞에 옵니다. 이는 다른 프로그래밍 언어와 다릅니다.
예:
print Matrix[0][0] # prints 1 x, y = 0, 6 print Matrix[x][y] # prints 3; be careful with indexing!
원하는 대로 인덱스 이름을 지정할 수 있지만 내부 및 외부 목록에 "x"를 사용하면 다음과 같은 문제가 발생할 수 있습니다. 비정사각형 행렬을 인덱싱할 때 혼란이 발생합니다.
위 내용은 Python에서 2차원 배열을 올바르게 초기화하고 인덱싱하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!