Python에서 초기화된 길이 없이 2차원 배열 정의
Python에서 길이를 지정하지 않고 2차원 배열을 정의하려고 하면, 예:
Matrix = [][]
"IndexError: 목록 인덱스가 범위를 벗어났습니다."가 발생할 수 있습니다. 오류. 이 문제를 해결하려면 항목을 추가하기 전에 빈 목록으로 외부 목록을 초기화해야 합니다. Python은 이러한 목적으로 목록 이해라는 기술을 활용합니다.
다음 코드를 고려하세요.
w, h = 8, 5 Matrix = [[0 for x in range(w)] for y in range(h)]
여기서 각각 8개의 0이 포함된 5개의 목록 목록을 만들었습니다. 이제 이 배열에 항목을 추가할 수 있습니다.
Matrix[0][0] = 1 Matrix[6][0] = 3 # error! 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
정사각형이 아닌 행렬로 작업할 때 색인 생성에 주의하고 내부 목록과 외부 목록 모두에 동일한 변수 이름(예: "x")을 사용하지 않는 것이 중요합니다.
위 내용은 미리 정의된 차원 없이 Python에서 2차원 배열을 올바르게 초기화하고 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!