Memulakan Tatasusunan Dua Dimensi dalam Python
Apabila bekerja dengan Python, anda mungkin menghadapi keperluan untuk memulakan tatasusunan dua dimensi, atau "senarai senarai." Walaupun coretan kod yang disediakan menggunakan gelung bersarang menyelesaikan tugas, ia mungkin bukan pendekatan yang paling berkesan.
Permulaan Ringkas
Cara yang lebih ringkas untuk memulakan dua- tatasusunan dimensi adalah melalui pemahaman senarai:
t = [[0] * 3 for i in range(3)]
Kod ini memulakan Tatasusunan 3x3 dengan semua elemen ditetapkan kepada 0.
Nota Awas
Walaupun nampaknya mudah, gunakan [[v] * n] * n untuk memulakan tatasusunan boleh membawa kepada tingkah laku yang tidak dijangka. Seperti yang ditunjukkan dalam kod di bawah, pendekatan ini mencipta salinan rujukan senarai yang sama, menyebabkan rujukan dikongsi sepanjang tatasusunan:
a = [[0] * 3] * 3 a[0][0] = 1 print(a) # Output: [[1, 1, 1], [1, 1, 1], [1, 1, 1]]
Tidak seperti yang dijangkakan, semua elemen tatasusunan menjadi 1. Ini kerana setiap sublist memegang rujukan kepada senarai asal, dan sebarang perubahan kepada satu elemen mempengaruhi keseluruhan tatasusunan.
Ringkasnya, untuk memulakan dua dimensi tatasusunan dalam Python, gunakan pemahaman senarai untuk kesederhanaan dan elakkan menggunakan [[v] * n] * n kerana isu perkongsian rujukan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memulakan Tatasusunan 2D dalam Python dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!