Daftar dua dimensi menempatkan daftar lain ke dalam satu daftar sebagai elemen daftar, yang merupakan kumpulan list . Mereka yang pernah mengenal C atau C++ mungkin memahami konsep array. Di Python, array ada di perpustakaan pihak ketiga. Oleh karena itu, jika kita ingin menggunakan metode array di Python tanpa menginstal plug-in pihak ketiga, kita harus menggunakan daftar dua dimensi.
Faktanya, elemen dalam daftar dapat berupa tipe data apa pun. Mari kita lihat sebuah contoh:
daftar_saya=[[1,2,3,4,5],'dotcpp',{1,2,3,},('www','dotcpp','com')]print(daftar_saya)
Outputnya adalah:
[[1,2,3,4,5],'dotcpp',{1,2,3},('www','dotcpp','com')]
Daftar ini berisi daftar, string, set, dan tupel. Jika semua elemen dalam daftar adalah daftar, maka ini adalah daftar dua dimensi yang paling umum digunakan. Berikut ini akan diperkenalkan beberapa metode untuk membuat dan mengakses daftar dua dimensi.
Cara pembuatan langsungnya adalah dengan memasukkan nama daftar langsung setelah mendefinisikannya. Mari kita definisikan keyboard kecil sederhana, yaitu 1-9:
daftar_saya=[[1,2,3],[4,5,6],[7,8,9]]cetak(daftar_saya)
Outputnya adalah:
[[1,2,3],[4,5,6],[7,8,9]]
Jika kita memahaminya, kita bisa memahaminya seperti ini:
Seperti terlihat dari gambar, my_list[0] berkorespondensi dengan [1,2,3], jadi ketika kita mengakses 1, koordinatnya adalah (0,0), dan kita dapat mengaksesnya melalui indeks, yaitu, my_list[0 ][0], nilainya sesuai dengan 1, dan nilai lainnya diakses dengan cara yang sama, misalnya, metode akses yang sesuai dengan elemen 9 adalah my_list[2][2].
Pembuatan daftar juga dapat dilakukan dengan menggunakan perulangan, biasanya menggunakan perulangan for. Mari kita buat daftar dua dimensi berukuran 6*6. Kodenya adalah sebagai berikut:
my_list=[]#Pertama buat daftar utama foriinrange(6):#Ulangi 6 kali dan buat daftar baru untuk setiap elemen daftar utama secara bergantian j=[]#Pertama buat daftar baru dan tambahkan ke daftar utama daftarkan my_list.append(j)forminrange(1,7):j.append(m)#Tambahkan elemen ke sublist print(my_list)#Output
Outputnya adalah:
[[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3, 4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6]]
Hasil keluaran sebenarnya harus dalam satu baris. Disusun seperti ini untuk memudahkan pemahaman semua orang. Anda juga dapat mencoba membuat daftar dua dimensi melalui perulangan while.
Daftar dua dimensi juga dapat dibuat menggunakan pemahaman daftar. Kita baru mempelajari pemahaman daftar di bagian sebelumnya, sehingga kita dapat menggunakan metode ini secara langsung untuk menyederhanakan kode kita.
Kami sekali lagi membuat daftar dua dimensi dengan enam baris dan enam kolom. Kodenya relatif sederhana.
my_list=[[iforiinrange(1,7)]forjinrange(1,7)]print(my_list)
Outputnya adalah:
[[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3, 4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6]]
Metode ini tidak hanya menghemat waktu tetapi juga mengoptimalkan kode. Ini setara dengan membuat 6 daftar dalam satu lingkaran dan menetapkan 6 nilai. Terakhir, mereka ditempatkan dalam sebuah daftar untuk membentuk daftar dua dimensi.
Mari kita pelajari lebih lanjut melalui sebuah contoh.
Kami ingin membuat daftar 6*6, dan kemudian nilai di dalamnya dipilih secara acak dari 1-100. Kodenya adalah sebagai berikut:
importrandom#random adalah modul di perpustakaan sistem dan dapat dipanggil kapan saja. Berikut adalah pengenalan singkat my_list=[]#Pertama buat daftar foriinrange(6):#Buat 6 daftar dalam satu lingkaran dan masukkan ke dalam my_list j =[]my_list.append (j)forkinrange(6):c=random.randint(1,100)#Panggil metode secara acak untuk menghasilkan angka acak, dan tetapkan nilai angka acak yang dihasilkan ke cj.append(c)# Tambahkan nilai c print(my_list) di list j
Outputnya adalah:
[[52,83,15,35,54,60],[17,61,77,99,60,50],[88,81,9,61,76,95],[21,52,20, 49,10,61],[94,81,48,27,80,9],[1,94,57,66,95,97]]
Ide dari pertanyaan ini konsisten dengan metode kedua di atas, Siswa yang tidak mahir dalam derivasi daftar dapat menggunakan metode ini pada tahap awal. Dibandingkan dengan contoh sebelumnya, metode ini menambahkan fungsi nilai acak.
Mengenai daftar dua dimensi, hal ini sangat penting bagi siswa yang ingin mengikuti kompetisi. Baik Anda menghadapi soal labirin atau soal ratu 2n nanti, Anda tidak dapat melakukannya tanpa menggunakan daftar dua dimensi Akan diperkenalkan secara singkat disini. Sebagai pemahaman awal, akan ada penjelasan tentang kedua jenis soal tersebut pada soal-soal kompetisi selanjutnya. Tentu saja kita juga bisa melangkah lebih jauh ke daftar dua dimensi.