Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Memulakan dan Mengindeks Tatasusunan Dua Dimensi dengan betul dalam Python?

Bagaimana untuk Memulakan dan Mengindeks Tatasusunan Dua Dimensi dengan betul dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-12-11 02:23:09462semak imbas

How to Properly Initialize and Index a Two-Dimensional Array in Python?

Mentakrifkan Tatasusunan Dua Dimensi dalam Python

Apabila memulakan tatasusunan dua dimensi tanpa menyatakan panjangnya, anda mungkin menghadapi ralat " IndexError: senaraikan indeks di luar julat." Ini berlaku kerana Python memerlukan senarai luar untuk dimulakan dengan senarai kosong sebelum menambah sebarang elemen.

Untuk menyelesaikan isu ini, gunakan pemahaman senarai untuk mencipta tatasusunan:

w, h = 8, 5
Matrix = [[0 for x in range(w)] for y in range(h)]

Ini mencipta senarai yang mengandungi 5 senarai, setiap satu dengan 8 item, semuanya ditetapkan kepada sifar.

Anda kemudian boleh menambah elemen pada tatasusunan sebagai berikut:

Matrix[0][0] = 1
Matrix[6][0] = 3 # error! IndexError: list index out of range
Matrix[0][6] = 3 # valid

Perhatikan bahawa matriks ialah alamat major "y", bermakna indeks luar (y) datang sebelum indeks dalam (x). Ini berbeza daripada beberapa bahasa pengaturcaraan lain.

Contohnya:

print Matrix[0][0] # prints 1
x, y = 0, 6
print Matrix[x][y] # prints 3; be careful with indexing!

Walaupun anda boleh menamakan indeks mengikut kehendak anda, menggunakan "x" untuk senarai dalam dan luar boleh membawa kepada kekeliruan apabila mengindeks matriks bukan segi empat sama.

Atas ialah kandungan terperinci Bagaimana untuk Memulakan dan Mengindeks Tatasusunan Dua Dimensi dengan betul dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn