Larik 2D dengan Python adalah struktur data bersarang, artinya ini adalah sekumpulan larik di dalam larik lain. Array 2D sebagian besar digunakan untuk merepresentasikan data dalam format tabular atau dua dimensi
Pengantar Array 2D dengan Python
Array 2D dalam python adalah struktur data dua dimensi yang digunakan untuk menyimpan data secara umum dalam format tabel. Misalnya, jika Anda ingin menyimpan matriks dan melakukan perhitungan, bagaimana Anda melakukannya dengan Python? . Baca bersama untuk mengetahui lebih lanjut
Apa itu Array 2D dengan Python dan Kegunaannya
Array 2D dalam python adalah struktur data dua dimensi yang disimpan secara linear di dalam memori. Ini berarti ia memiliki dua dimensi, baris, dan kolom, dan dengan demikian ia juga mewakili sebuah matriks. Dengan struktur data linier, yang kami maksud adalah elemen ditempatkan secara linier di memori, dan setiap elemen terhubung ke elemen sebelumnya dan berikutnya.
Kami memvisualisasikan array 2D dalam format tabel, tetapi sebenarnya, elemen disimpan secara linier di memori. Elemen array 2D ditempatkan secara berdekatan di memori. Artinya jika satu elemen ada di alamat memori saat ini, elemen berikutnya akan ditempatkan di alamat memori berikutnya. Jenis penyimpanan ini membuat array dapat diakses secara acak. Ini berarti bahwa kita dapat mengakses setiap elemen dari array secara mandiri
Dalam larik 2D, banyak larik dimasukkan sebagai elemen dalam larik luar. Setiap elemen dalam array 2D diwakili oleh dua indeks, baris dan kolom. Array 2D dalam python adalah nol-diindeks, yang berarti menghitung indeks mulai dari nol, bukan satu;
Array 2D digunakan di mana pun matriks perlu direpresentasikan. Kita dapat membuat larik 2D dengan n baris dan m kolom yang mewakili matriks mxn
Array 2D juga digunakan untuk menyimpan data dalam format tabel. Larik 2D juga digunakan untuk merepresentasikan kisi saat bekerja dengan grafik, karena layar juga direpresentasikan sebagai kisi piksel
Sintaks Python 2D Array
Kita dapat membuat array 2D dengan python seperti di bawah ini
array_name=[n_baris][n_kolom]
Di mana nama_array adalah nama larik, n_rows adalah jumlah baris dalam larik, dan n_kolom adalah jumlah kolom dalam larik
Sintaks ini hanya membuat larik, yang berarti ruang memori dicadangkan untuk larik ini, tetapi kami akan menambahkan nilainya nanti
Ada sintaks lain untuk membuat larik 2D di mana inisialisasi (pembuatan larik dan penambahan elemen) dilakukan dengan satu baris kode. Sintaks ini adalah sebagai berikut
array_name=[[r1c1,r1c2,r1c3,..],[r2c1,r2c2,r2c3,...],. . . .]
Di mana nama_array adalah nama array, r1c1, r1c1 dll. , adalah elemen dari array. Di sini r1c1 berarti itu adalah elemen kolom pertama dari baris pertama. Array 2D adalah array dari array
Mengakses Nilai dalam Python 2D Array
Kita bisa langsung mengakses nilai atau elemen array 2D dengan Python. Ini dapat dilakukan dengan menggunakan indeks baris dan kolom dari elemen yang akan diakses. Ini memiliki sintaks berikut
array_name[row_ind][col_ind] _
Di mana nama_array adalah nama array, baris_ind adalah indeks baris elemen, dan col_ind adalah indeks kolom elemen
Jika kita menentukan hanya satu indeks saat mengakses array, indeks ini diperlakukan sebagai indeks baris, dan seluruh baris dikembalikan. Ini memiliki sintaks
Di mana nama_array adalah nama larik, baris_ind adalah indeks baris yang akan diakses
Jika indeks melebihi ukuran, jika array disediakan untuk fungsi ini, ia akan mengembalikan kesalahan indeks di luar jangkauan. Indeks semacam itu dikenal sebagai di luar batas. Lebih lanjut diklarifikasi oleh contoh-contoh di bawah ini
Contoh Mengakses
Mari kita lihat beberapa contoh bagaimana elemen diakses dalam larik 2D dengan python
1. Mengakses Elemen Tunggal
Dalam contoh ini, pertama-tama kita menginisialisasi array bernama arr dengan nilai yang diberikan, lalu mengakses satu elemen dari array arr yang ada di kolom ke-3 di baris kedua. Karena array diindeks 0, kami akan menggunakan nilai 1 dan 2
Kode
arr=[[1,2,3],[4,5,6],[7,8,9]] print("Element at [1][0]=",arr[1][0])
Keluaran
2. Mengakses Array Internal
Dalam contoh ini, kami hanya melewatkan indeks baris, i. e. , 2, untuk mengakses arr array 2D. Di lokasi itu, ada array lain, dan dengan demikian array itu dikembalikan kepada kita
Kode
arr=[[1,2,3],[4,5,6],[7,8,9]] print("Element at [2]=",arr[2])
Keluaran
Melintasi Nilai dalam Python 2D Array
Melintasi berarti secara berurutan mengakses setiap nilai dari suatu struktur. Melintasi array 2D dengan python dapat dilakukan dengan menggunakan for a loop. Kita dapat melakukan iterasi melalui larik luar terlebih dahulu, dan kemudian pada setiap elemen larik luar, kita memiliki larik lain, larik internal kita yang berisi elemen. Jadi untuk setiap larik dalam, kami menjalankan loop untuk melintasi elemennya
Seperti yang Anda lihat pada gambar di atas, panah ditandai secara berurutan. Baris pertama dilalui secara horizontal, lalu kita turun ke baris kedua, melintasinya, dan terakhir turun ke baris terakhir, dilalui
Contoh Lintas
Mari kita lihat beberapa contoh bagaimana elemen dilintasi dalam larik 2D dengan python
Dalam contoh ini, kami melintasi array bernama arr dengan menggunakan dua for loop. Yang pertama untuk loop mengulangi array luar, mengembalikan array internal dan yang kedua untuk loop melintasi setiap loop dalam, mengembalikan elemen
Kode
arr=[[1,2,3],[4,5,6],[7,8,9]] for _ in arr: for i in _: print(i,end=" ") print() _
Keluaran
Memasukkan Nilai dalam Python 2D Array
Memasukkan nilai dalam array berarti menambahkan elemen baru pada indeks yang diberikan dalam array dan kemudian menggeser elemen yang tersisa. Memasukkan nilai akan menyebabkan nilai setelahnya digeser ke depan
Kita dapat menambahkan nilai dalam larik python 2D dengan dua cara. -
1. Menambahkan Elemen Baru di Outer Array
Kita harus ingat bahwa array 2D adalah array dari array di python. Oleh karena itu kita dapat memasukkan array atau elemen baru ke dalam array luar. Hal ini dapat dilakukan dengan menggunakan. insert() metode modul array di python; . Metode insert memiliki sintaks berikut
arr1.insert(ind,arr_insert)
Dimana arr1 adalah larik tempat elemen disisipkan, ind adalah indeks tempat elemen disisipkan, dan arr_insert adalah larik atau elemen yang akan disisipkan
2. Menambahkan Elemen Baru di Array Dalam
Seperti yang telah kita lihat di python, larik 2D adalah larik larik sehingga kita dapat menambahkan elemen dalam larik dalam. Ini dapat dilakukan dengan menggunakan. insert() metode modul array di python; . Dalam hal ini, alih-alih menambahkan nilai ke larik luar, kami menambahkannya ke larik dalam dan dengan demikian menentukan indeks elemen larik di mana di dalamnya elemen akan ditambahkan. Disini kita menggunakan sintaks as
arr1[r].insert(ind,arr_insert) _
Di mana arr1 adalah larik terluar tempat elemen disisipkan, r adalah indeks larik yang diperlukan di larik terluar, ind adalah indeks tempat elemen disisipkan ke dalam larik dalam, dan arr_insert adalah larik atau elemen yang akan
Contoh Memasukkan Nilai
Mari kita lihat beberapa contoh bagaimana elemen dimasukkan ke dalam array 2D dengan python-
1. Memasukkan Array dalam Array 2D
Dalam contoh ini, kami menggunakan modul array python. Di sini kita menyisipkan array [11,12,13] pada indeks 2 di arr array kita yang sudah ada. Ini menyebabkan nilai setelah indeks 2 bergeser ke depan. Jika suatu elemen disisipkan pada indeks yang di luar batas (lebih besar dari indeks terakhir array atau lebih kecil dari indeks pertama), kita tidak mendapatkan error, tetapi elemen disisipkan pada indeks tersebut
Kode
from array import * arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print("Original Array") for _ in arr: for i in _: print(i, end=" ") print() arr.insert(2, [11, 12, 13]) print("Modified Array") for _ in arr: for i in _: print(i, end=" ") print()
Keluaran
Original Array 1 2 3 4 5 6 7 8 9 Modified Array 1 2 3 4 5 6 11 12 13 7 8 9 _
2. Memasukkan Elemen ke dalam Array Dalam
Dalam contoh ini, kami menyisipkan elemen 12 pada indeks 2 dalam larik dalam kami yang memiliki indeks 1. Untuk melakukan ini, kami menerapkan fungsi sisipkan pada arr[1], sehingga menggunakannya sebagai larik utama kami untuk penyisipan. Jika suatu elemen disisipkan pada indeks yang di luar batas (lebih besar dari indeks terakhir array atau lebih kecil dari indeks pertama), kita tidak mendapatkan error, tetapi elemen disisipkan pada indeks tersebut
Kode
from array import * arr=[[1,2,3],[4,5,6],[7,8,9]] print("Original Array") for _ in arr: for i in _: print(i,end=" ") print() arr[1].insert(2,12) print("Modified Array") for _ in arr: for i in _: print(i,end=" ") print() _
Keluaran
array_name[row_ind][col_ind] 0
Memperbarui Nilai dalam Python 2D Array
Memperbarui dalam larik 2D berarti mengubah nilai elemen yang ada. Memperbarui dalam array 2D python dapat dilakukan dengan dua cara -
1. Memperbarui Elemen Tunggal
Kita dapat memperbarui satu elemen dalam larik 2D dengan menentukan indeks baris dan kolomnya dan menetapkan posisi larik itu sebagai nilai baru. Menetapkan nilai baru akan menimpa nilai lama, sehingga memperbaruinya. Jika kami mencoba memperbarui nilai pada indeks yang di luar batas (lebih besar dari indeks terakhir array atau lebih kecil dari indeks pertama), kami mendapatkan indeks daftar kesalahan di luar jangkauan
Ini memiliki sintaks berikut-
array_name[row_ind][col_ind] _1
Di mana arr_name adalah nama larik 2D tempat pembaruan dilakukan, r adalah indeks baris elemen yang akan diperbarui, c adalah indeks kolom elemen yang akan diperbarui, dan elemen_baru adalah nilai baru yang akan diperbarui.
2. Memperbarui Array Dalam
Kami juga dapat memperbarui array di dalam array luar kami. Ini dapat dilakukan dengan menentukan indeksnya di larik luar dan kemudian menetapkan posisi larik itu sebagai larik baru. Array baru menimpa array lama. Jika kami mencoba memperbarui nilai pada indeks di luar batas (lebih besar dari indeks terakhir array atau lebih kecil dari indeks pertama), kami mendapatkan indeks daftar kesalahan di luar jangkauan. Ini memiliki sintaks berikut
Di mana arr_name adalah nama larik 2D tempat pembaruan akan dilakukan, ind adalah indeks elemen yang akan diperbarui, dan larik_baru adalah larik baru yang akan diperbarui
Contoh Pembaruan
1. Memperbarui Elemen Tunggal
Dalam contoh ini, kami telah memperbarui nilai di kolom ke-2 di baris ke-1 menjadi 16. Ini menyebabkan nilai lama ditimpa dengan nilai baru
Kode
array_name[row_ind][col_ind] _2
Keluaran
array_name[row_ind][col_ind] _3
2. Memperbarui Array Dalam
Dalam contoh ini, kami memperbarui larik pada indeks 1 di larik terluar dengan larik baru bernama new_arr. Ini menimpa larik dalam lama kita dengan larik baru, sehingga memperbaruinya
Kode
array_name[row_ind][col_ind] _4
Keluaran
array_name[row_ind][col_ind] _5
Menghapus Nilai dalam Python 2D Array
Menghapus nilai dalam python berarti menghapus elemen tertentu dari array. Penghapusan dapat dilakukan dengan menggunakan modul array python. Ini menyebabkan elemen setelahnya digeser kembali. Menghapus dalam array 2D dapat dilakukan dengan 2 cara
1. Menghapus Elemen Tunggal
Kita dapat menghapus satu elemen dalam larik 2D dengan menentukan indeks baris dan kolomnya dan menerapkan metode del() padanya; . Jika kami mencoba menghapus nilai pada indeks yang di luar batas (lebih besar dari indeks terakhir array atau lebih kecil dari indeks pertama), kami mendapatkan indeks daftar kesalahan di luar jangkauan
Ini memiliki sintaks berikut-
Di mana arr_name adalah nama array 2D tempat penghapusan dilakukan, r dan c adalah indeks baris dan kolom dari elemen yang akan dihapus
2. Menghapus Array Dalam
Kami juga dapat menghapus array lengkap dari array luar. Ini dapat dilakukan dengan menerapkan metode del pada elemen array dari array luar dengan hanya menentukan indeks array dalam; . Jika kami mencoba menghapus nilai pada indeks di luar batas (lebih besar dari indeks terakhir array atau lebih kecil dari indeks pertama), kami mendapatkan indeks daftar kesalahan di luar jangkauan. Ini memiliki sintaks berikut
Di mana arr_name adalah nama array 2D tempat penghapusan akan dilakukan, dan ind adalah indeks elemen yang akan dihapus
Contoh Penghapusan
1. Menghapus Elemen Tunggal
Dalam contoh ini, kami telah menghapus nilai di kolom ke-2 di baris ke-1. Ini menyebabkan nilai setelahnya digeser satu indeks ke belakang
Kode
array_name[row_ind][col_ind] _6
Keluaran
array_name[row_ind][col_ind] _7
2. Menghapus Array Dalam
Dalam contoh ini, kami menghapus array pada indeks 1 di array luar. Itu menyebabkan array internal setelah digeser satu indeks kembali
Kode
array_name[row_ind][col_ind] _8
Keluaran
array_name[row_ind][col_ind] _9
Pengerjaan Bagian Dalam Python 2D Array
Kita telah melihat di atas bahwa array Python 2D disimpan secara linear di dalam memori. Gambar di atas menunjukkan bahwa array disimpan secara linear di dalam memori. Elemen baris pertama dari larik 2D disimpan secara berurutan dalam memori, diikuti oleh elemen baris kedua dan seterusnya. Pertanyaan selanjutnya adalah bagaimana alamat memori suatu elemen dihitung
Kami selalu mengetahui alamat memori dari elemen pertama dari baris pertama. Menemukan alamat memori elemen baris pertama cukup sederhana karena sama dengan alamat memori elemen pertama baris pertama ditambah indeks elemen dikalikan dengan ukuran elemen
Persamaan menjadi sedikit rumit untuk baris selanjutnya karena kita perlu mempertimbangkan semua baris sebelumnya. Jadi alamat suatu elemen menjadi sama dengan jumlah alamat memori elemen pertama dari baris pertama, ditambah jumlah elemen di setiap baris dikalikan dengan jumlah baris sebelumnya ditambah indeks kolom dari indeks saat ini, dikalikan dengan
Rumus berikut akan membuat konsep lebih jelas-
Alamat(arr[i][j]) = B + (i * C + j) * ukuran
Di mana i dan j adalah indeks baris dan kolom dari elemen, B adalah alamat dasar dari elemen pertama dari baris pertama, C adalah jumlah elemen di setiap baris, ukuran adalah ukuran penyimpanan satu elemen dalam array,