Pengantar
Bayangkan Anda memiliki playlist lagu favorit di ponsel Anda. Daftar putar ini adalah daftar tempat setiap lagu ditempatkan dalam urutan tertentu. Anda dapat memutar lagu pertama, melompat ke lagu kedua, melompat ke lagu kelima, dan seterusnya. Daftar putar ini sangat mirip dengan array dalam pemrograman komputer.
Array berdiri sebagai salah satu struktur data yang paling mendasar dan banyak digunakan.
Intinya, array adalah cara terstruktur untuk menyimpan beberapa item (seperti angka, karakter, atau bahkan array lainnya) dalam urutan tertentu, dan Anda dapat dengan cepat mengakses, mengubah, atau menghapus item apa pun jika Anda mengetahui posisinya (indeks).
Dalam panduan ini, kami akan memberi Anda gambaran komprehensif tentang struktur data array. Pertama-tama, kita akan melihat apa itu array dan apa karakteristik utamanya. Kita kemudian akan bertransisi ke dunia Python, mengeksplorasi bagaimana array diimplementasikan, dimanipulasi, dan diterapkan dalam skenario dunia nyata.
Memahami Struktur Data Array
Array adalah salah satu struktur data tertua dan paling mendasar yang digunakan dalam ilmu komputer dan pemrograman. Kesederhanaannya, dipadukan dengan efisiensi dalam pengoperasian tertentu, menjadikannya topik utama bagi siapa pun yang mendalami bidang pengelolaan dan manipulasi data.
Array adalah kumpulan item, biasanya dari Tipe yang sama, disimpan di lokasi memori yang berdekatan.
Penyimpanan yang berdekatan ini memungkinkan array menyediakan akses waktu yang konstan ke elemen apa pun, berdasarkan indeksnya. Setiap item dalam array disebut elemen, dan posisi elemen dalam array ditentukan oleh elemen tersebut indeks, yang biasanya dimulai dari nol.
Misalnya, pertimbangkan array bilangan bulat: [10, 20, 30, 40, 50]
. Di sini, elemennya 20
memiliki indeks 1
:
Ada banyak keuntungan menggunakan array untuk menyimpan data kita. Misalnya, karena tata letak memorinya, array memungkinkan O (1) kompleksitas waktu (konstan) saat mengakses elemen berdasarkan indeksnya. Hal ini sangat bermanfaat ketika kita membutuhkan akses acak ke elemen. Selain itu, array disimpan di lokasi memori yang berdekatan, yang dapat menghasilkan lokalitas cache yang lebih baik dan peningkatan kinerja secara keseluruhan dalam operasi tertentu. Keuntungan penting lainnya dari penggunaan array adalah, karena array memiliki ukuran tetap setelah dideklarasikan, lebih mudah untuk mengelola memori dan menghindari luapan yang tidak terduga atau kesalahan kehabisan memori.
Note: Array sangat berguna dalam skenario di mana ukuran koleksi diketahui sebelumnya dan tetap konstan, atau di mana akses acak lebih sering terjadi dibandingkan penyisipan dan penghapusan.
Di sisi lain, array hadir dengan kumpulannya sendiri keterbatasan. Salah satu keterbatasan utama dari array tradisional adalah mereka ukuran tetap. Setelah array dibuat, ukurannya tidak dapat diubah. Hal ini dapat menyebabkan masalah seperti memori yang terbuang (jika array terlalu besar) atau kebutuhan untuk mengubah ukuran (jika array terlalu kecil). Selain itu, menyisipkan atau menghapus suatu elemen di tengah-tengah array memerlukan perpindahan elemen, yang mengarah ke O (n) kompleksitas waktu untuk operasi ini.
Singkatnya, mari kita ilustrasikan karakteristik utama array menggunakan contoh playlist lagu dari awal panduan ini. Array adalah struktur data yang:
-
Diindeks: Sama seperti setiap lagu di playlist Anda yang memiliki nomor (1, 2, 3,…), setiap elemen dalam array juga memiliki indeks. Namun, di sebagian besar bahasa pemrograman, indeks dimulai dari 0. Jadi, item pertama ada di indeks 0, item kedua di indeks 1, dan seterusnya.
-
Memiliki Ukuran Tetap: Saat Anda membuat daftar putar untuk, katakanlah, 10 lagu, Anda tidak dapat menambahkan lagu ke-11 tanpa menghapus satu lagu terlebih dahulu. Demikian pula, array memiliki ukuran tetap. Setelah Anda membuat array dengan ukuran tertentu, Anda tidak dapat menambahkan item lebih dari kapasitasnya.
-
Apakah Homogen: Semua lagu di playlist Anda adalah trek musik. Demikian pula, semua elemen dalam array memiliki tipe yang sama. Jika Anda memiliki array bilangan bulat, Anda tidak bisa tiba-tiba menyimpan string teks di dalamnya.
-
Memiliki Akses Langsung: Jika Anda ingin mendengarkan lagu ke-7 di playlist Anda, Anda dapat langsung membukanya. Demikian pula dengan array, Anda dapat langsung mengakses elemen apa pun jika Anda mengetahui indeksnya.
-
Memori Bersebelahan: Ini sedikit lebih teknis. Ketika sebuah array dibuat di memori komputer, array tersebut menempati blok memori yang berkesinambungan. Anggap saja seperti deretan loker yang berdekatan di sekolah. Setiap loker terletak bersebelahan, tanpa ada celah di antaranya.
Python dan Array
Python, yang terkenal dengan fleksibilitas dan kemudahan penggunaannya, menawarkan berbagai cara untuk bekerja dengan array. Meskipun Python tidak memiliki struktur data array asli seperti beberapa bahasa lainnya, Python memberikan alternatif kuat yang dapat berfungsi serupa dan bahkan menawarkan kemampuan yang lebih luas.
Sepintas, daftar Python mungkin tampak identik dengan array, namun ada perbedaan dan nuansa halus yang perlu dipertimbangkan:
Daftar | susunan |
---|---|
Struktur data Python bawaan | Bukan asli dalam Python – mereka berasal dari modul `array` |
Ukuran dinamis | Ukuran tetap (yang telah ditentukan sebelumnya). |
Dapat menampung item dengan tipe data berbeda | Pegang item dengan tipe yang sama |
Menyediakan berbagai metode manipulasi bawaan | Perlu mengimpor modul eksternal |
O(1) kompleksitas waktu untuk operasi akses | O(1) kompleksitas waktu untuk operasi akses |
Konsumsi lebih banyak memori | Lebih hemat memori |
Melihat tabel ini, wajar saja jika bertanya – “Kapan menggunakan yang mana?”. Nah, jika Anda memerlukan koleksi yang dapat bertambah atau menyusut secara dinamis dan dapat menampung tipe data campuran, daftar Python adalah jawabannya. Namun, untuk skenario yang memerlukan koleksi yang lebih hemat memori dengan elemen bertipe sama, Anda mungkin mempertimbangkan untuk menggunakan Python array
modul atau perpustakaan eksternal seperti NumPy.
Grafik susunan Modul dengan Python
Ketika sebagian besar pengembang memikirkan array dengan Python, mereka sering kali memikirkan daftar secara default. Namun, Python menawarkan struktur array yang lebih terspesialisasi melalui bawaannya array
modul. Modul ini menyediakan penyimpanan tipe data dasar gaya C yang hemat ruang dengan Python.
Meskipun daftar Python sangat serbaguna dan dapat menyimpan jenis objek apa pun, daftar tersebut terkadang berlebihan, terutama ketika Anda hanya perlu menyimpan kumpulan tipe data dasar, seperti bilangan bulat atau float. Itu array
modul menyediakan cara untuk membuat array yang lebih hemat memori daripada daftar untuk tipe data tertentu.
Membuat Array
Untuk menggunakan array
modul, Anda harus mengimpornya terlebih dahulu:
from array import array
Setelah diimpor, Anda dapat membuat array menggunakan array()
konstruktor:
arr = array('i', [1, 2, 3, 4, 5])
print(arr)
Ini, 'i'
argumen menunjukkan bahwa array akan menyimpan tanda tangan bilangan bulat. Ada beberapa kode tipe lain yang tersedia, seperti 'f'
untuk pelampung dan 'd'
untuk ganda.
Mengakses dan Memodifikasi Elemen
Anda dapat mengakses dan mengubah elemen dalam array seperti yang Anda lakukan dengan daftar:
print(arr[2])
Dan sekarang, mari kita modifikasi elemen dengan mengubah nilainya menjadi 6
:
arr[2] = 6
print(arr)
Metode Array
Grafik array
modul menyediakan beberapa metode untuk memanipulasi array:
-
append()
– Menambahkan elemen ke akhir array:arr.append(7) print(arr)
-
extend()
– Menambahkan elemen yang dapat diubah ke akhir:arr.extend([8, 9]) print(arr)
-
pop()
– Menghapus dan mengembalikan elemen pada posisi tertentu:arr.pop(2) print(arr)
-
remove()
: Menghapus kemunculan pertama dari nilai yang ditentukan:arr.remove(2) print(arr)
-
reverse()
: Membalikkan urutan array:arr.reverse() print(arr)
Catatan: Ada lebih banyak metode daripada yang kami cantumkan di sini. Mengacu kepada dokumentasi resmi Python untuk melihat daftar semua metode yang tersedia di array
modul.
Sementara array
modul menawarkan cara yang lebih hemat memori untuk menyimpan tipe data dasar, penting untuk mengingatnya keterbatasan. Tidak seperti daftar, array adalah homogen. Artinya semua elemen dalam array harus bertipe sama. Selain itu, Anda hanya dapat menyimpannya tipe data dasar gaya C dalam array. Jika Anda perlu menyimpan objek khusus atau tipe Python lainnya, Anda harus menggunakan daftar atau struktur data lainnya.
Array NumPy
NumPy, kependekan dari Numerical Python, adalah paket dasar untuk komputasi numerik dengan Python. Salah satu fitur utamanya adalah kekuatannya Objek array berdimensi N, yang menawarkan operasi cepat pada array, termasuk matematika, logika, manipulasi bentuk, dan banyak lagi.
Array NumPy lebih serbaguna daripada array bawaan Python
array
modul dan merupakan bahan pokok dalam ilmu data dan proyek pembelajaran mesin.
Mengapa Menggunakan Array NumPy?
Hal pertama yang terlintas dalam pikiran adalah prestasi. Array NumPy diimplementasikan dalam C dan memungkinkan penyimpanan memori yang efisien dan operasi yang lebih cepat karena algoritma yang dioptimalkan dan manfaat penyimpanan memori yang berdekatan.
Meskipun daftar dan array bawaan Python bersifat satu dimensi, array NumPy juga bisa multidimensi, menjadikannya ideal untuk merepresentasikan matriks atau tensor.
Lihat panduan praktis dan praktis kami untuk mempelajari Git, dengan praktik terbaik, standar yang diterima industri, dan termasuk lembar contekan. Hentikan perintah Googling Git dan sebenarnya belajar itu!
Terakhir, NumPy menyediakan a beragam fungsi untuk mengoperasikan array ini, mulai dari aritmatika dasar hingga operasi matematika tingkat lanjut, pembentukan ulang, pemisahan, dan banyak lagi.
Catatan: Jika Anda mengetahui ukuran data sebelumnya, pra-alokasi memori untuk array (terutama di NumPy) dapat menghasilkan peningkatan kinerja.
Membuat Array NumPy
Untuk menggunakan NumPy, Anda harus menginstalnya terlebih dahulu (pip install numpy
) lalu impor:
import numpy as np
Setelah diimpor, Anda dapat membuat array NumPy menggunakan array()
fungsi:
arr = np.array([1, 2, 3, 4, 5])
print(arr)
Anda juga dapat membuat array multidimensi:
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(matrix)
Ini akan memberi kita:
[[1 2 3] [4 5 6] [7 8 9]]
Selain cara-cara dasar untuk membuat array, NumPy memberi kita cara cerdas lainnya untuk membuat array. Salah satunya adalah arange()
metode. Ini menciptakan array dengan nilai yang bertambah secara teratur:
arr = np.arange(10)
print(arr)
Satu lagi adalah linspace()
metode, yang membuat array dengan jumlah elemen tertentu, dengan jarak yang sama antara nilai awal dan akhir yang ditentukan:
even_space = np.linspace(0, 1, 5)
print(even_space)
Mengakses dan Memodifikasi Elemen
Mengakses dan memodifikasi elemen dalam array NumPy bersifat intuitif:
print(arr[2]) arr[2] = 6
print(arr)
Melakukan hal yang hampir sama untuk array multidimensi:
print(matrix[1, 2]) matrix[1, 2] = 10
print(matrix)
Akan mengubah nilai elemen di baris kedua (index 1
) dan kolom ketiga (index 2
):
[[1 2 3] [4 5 20] [7 8 9]]
Mengubah Bentuk Array
NumPy menawarkan banyak fungsi dan metode untuk memanipulasi dan mengoperasikan array. Misalnya, Anda dapat menggunakan reshape()
metode untuk mengubah bentuk array. Katakanlah kita memiliki array sederhana:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
print("Original Array:")
print(arr)
Dan kami ingin membentuknya kembali menjadi matriks 3×4. Yang perlu Anda lakukan hanyalah menggunakan reshape()
metode dengan dimensi yang diinginkan diteruskan sebagai argumen:
reshaped_arr = arr.reshape(3, 4)
print("Reshaped Array (3x4):")
print(reshaped_arr)
Ini akan menghasilkan:
Reshaped Array (3x4):
[[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]]
Perkalian Matriks
Grafik numpy.dot()
metode digunakan untuk perkalian matriks. Ini mengembalikan produk titik dari dua array. Untuk array satu dimensi, ini adalah produk dalam dari array. Untuk array 2 dimensi, ini setara dengan perkalian matriks, dan untuk ND, itu adalah a jumlah produk pada sumbu terakhir larik pertama dan sumbu kedua hingga terakhir larik kedua.
Mari kita lihat cara kerjanya. Pertama, mari kita hitung perkalian titik dari dua larik 1-D (hasil kali dalam vektor-vektornya):
import numpy as np vec1 = np.array([1, 2, 3])
vec2 = np.array([4, 5, 6])
dot_product_1d = np.dot(vec1, vec2) print("Dot product of two 1-D arrays:")
print(dot_product_1d)
Ini akan menghasilkan:
Dot product of two 1-D arrays:
32
32
sebenarnya adalah hasil kali dalam dari dua larik – (14 + 25 + 3*6). Selanjutnya, kita dapat melakukan perkalian matriks dari dua array 2-D:
mat1 = np.array([[1, 2], [3, 4]])
mat2 = np.array([[2, 0], [1, 3]])
matrix_product = np.dot(mat1, mat2) print("Matrix multiplication of two 2-D arrays:")
print(matrix_product)
Yang akan memberi kita:
Matrix multiplication of two 2-D arrays:
[[ 4 6] [10 12]]
Array NumPy merupakan kemajuan signifikan dari daftar bawaan Python dan array
modul, terutama untuk perhitungan ilmiah dan matematika. Efisiensinya, dikombinasikan dengan fungsionalitas kaya yang disediakan oleh perpustakaan NumPy, menjadikannya alat yang sangat diperlukan bagi siapa pun yang ingin melakukan operasi numerik dengan Python.
Kesimpulan
Array, landasan ilmu komputer dan pemrograman, telah terbukti bermanfaat berkali-kali di berbagai aplikasi dan domain. Dalam Python, struktur data mendasar ini, melalui berbagai inkarnasinya seperti daftar, adalah array
modul, dan susunan NumPy yang kuat, menawarkan kepada pengembang perpaduan antara efisiensi, keserbagunaan, dan kesederhanaan.
Sepanjang panduan ini, kita telah melakukan perjalanan dari konsep dasar array hingga aplikasi praktisnya dengan Python. Kita telah melihat bagaimana array, dengan sifatnya yang berdekatan dengan memori, memberikan waktu akses yang cepat, dan bagaimana daftar dinamis Python menghadirkan lapisan fleksibilitas tambahan. Kami juga telah mempelajari dunia khusus NumPy, di mana array berubah menjadi alat canggih untuk komputasi numerik.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoData.Jaringan Vertikal Generatif Ai. Berdayakan Diri Anda. Akses Di Sini.
- PlatoAiStream. Intelijen Web3. Pengetahuan Diperkuat. Akses Di Sini.
- PlatoESG. Karbon, teknologi bersih, energi, Lingkungan Hidup, Tenaga surya, Penanganan limbah. Akses Di Sini.
- PlatoHealth. Kecerdasan Uji Coba Biotek dan Klinis. Akses Di Sini.
- Sumber: https://stackabuse.com/guide-to-arrays-in-python/
- :memiliki
- :adalah
- :bukan
- :Di mana
- $NAIK
- 1
- 10
- 11
- 12
- 13
- 16
- 20
- 25
- 30
- 32
- 40
- 50
- 7
- 8
- 9
- a
- Tentang Kami
- mengakses
- mengakses
- di seluruh
- sebenarnya
- menambahkan
- menambahkan
- Selain itu
- Menambahkan
- berdekatan
- memajukan
- maju
- Keuntungan
- lagi
- Waspada
- algoritma
- Semua
- mengizinkan
- memungkinkan
- juga
- alternatif
- antara
- an
- dan
- Lain
- Apa pun
- siapapun
- aplikasi
- terapan
- ADALAH
- argumen
- argumen
- susunan
- AS
- meminta
- At
- tersedia
- menghindari
- Sumbu
- dasar
- BE
- Awal
- bermanfaat
- Manfaat
- selain
- Lebih baik
- antara
- Bit
- Campuran
- Memblokir
- batas
- membawa
- built-in
- tapi
- by
- Cache
- bernama
- CAN
- tidak bisa
- kemampuan
- Kapasitas
- tertentu
- perubahan
- berubah
- mengubah
- karakteristik
- karakter
- Kode
- koleksi
- Kolom
- bergabung
- bagaimana
- datang
- kompleksitas
- luas
- komputasi
- perhitungan
- menghitung
- komputer
- Komputer Ilmu
- konsep
- kesimpulan
- Mempertimbangkan
- konstan
- kontinu
- landasan
- membuat
- dibuat
- menciptakan
- adat
- data
- manajemen data
- ilmu data
- Struktur data
- Default
- didefinisikan
- diinginkan
- pengembang
- perbedaan
- berbeda
- ukuran
- langsung
- langsung
- do
- tidak
- domain
- DOT
- Dobel
- dua
- dinamis
- dinamis
- setiap
- memudahkan
- kemudahan penggunaan
- mudah
- efisiensi
- efisien
- elemen
- elemen
- akhir
- sama
- Setara
- kesalahan
- terutama
- esensi
- penting
- Bahkan
- contoh
- Menjelajahi
- luar
- fakta
- FAST
- lebih cepat
- Favorit
- Fitur
- Pertama
- tetap
- keluwesan
- Fokus
- Untuk
- sering
- dari
- fungsi
- fungsi
- fungsi
- mendasar
- kesenjangan
- pergi
- Memberikan
- diberikan
- Sekilas
- Go
- Tumbuh
- membimbing
- hands-on
- Memiliki
- di sini
- memegang
- melayang-layang
- Seterpercayaapakah Olymp Trade? Kesimpulan
- Namun
- HTML
- HTTPS
- i
- ICON
- ideal
- if
- menjelaskan
- diimplementasikan
- mengimpor
- perbaikan
- in
- termasuk
- Termasuk
- luar biasa
- indeks
- diindeks
- menunjukkan
- install
- contoh
- segera
- ke
- Pengantar
- intuitif
- masalah
- IT
- item
- NYA
- melompat
- hanya
- Tahu
- dikenal
- Bahasa
- besar
- Terakhir
- lapisan
- tata ruang
- memimpin
- terkemuka
- pengetahuan
- membiarkan
- LG
- perpustakaan
- Perpustakaan
- 'like'
- keterbatasan
- Daftar
- Daftar
- daftar
- ll
- Locker
- logis
- melihat
- mencari
- Lot
- mesin
- Mesin belajar
- Utama
- MEMBUAT
- Membuat
- mengelola
- pengelolaan
- dimanipulasi
- manipulasi
- banyak
- matematis
- Matriks
- cara
- Memori
- metode
- metode
- Tengah
- mungkin
- keberatan
- campur aduk
- memodifikasi
- Modul
- lebih
- paling
- banyak
- beberapa
- musik
- harus
- asli
- Alam
- Perlu
- berikutnya
- tidak
- penting
- sekarang
- nuansa
- jumlah
- nomor
- mati rasa
- obyek
- objek
- menempati
- kejadian
- of
- menawarkan
- Penawaran
- sering
- tertua
- on
- sekali
- ONE
- hanya
- beroperasi
- Operasi
- dioptimalkan
- or
- urutan
- asli
- Lainnya
- kami
- di luar
- lebih
- secara keseluruhan
- ikhtisar
- sendiri
- paket
- khususnya
- Lulus
- Melakukan
- prestasi
- telepon
- plato
- Kecerdasan Data Plato
- Data Plato
- Bermain
- posisi
- kuat
- Praktis
- cukup
- primer
- Produk
- Pemrograman
- bahasa pemrograman
- memprojeksikan
- terbukti
- memberikan
- disediakan
- menyediakan
- Ular sanca
- segera
- acak
- jarak
- cepat
- dunia nyata
- dunia
- lihat
- secara teratur
- sisa
- ingat
- menghapus
- menghapus
- mewakili
- membutuhkan
- membentuk kembali
- membentuk kembali
- mengakibatkan
- Pengembalian
- Kaya
- Cincin
- BARIS
- s
- sama
- mengatakan
- skenario
- Sekolah
- Ilmu
- ilmiah
- Kedua
- melihat
- terlihat
- terlihat
- set
- beberapa
- bayangan
- Bentuknya
- lembar
- PERGESERAN
- Pendek
- sisi
- tertanda
- penting
- Demikian pula
- Sederhana
- kesederhanaan
- sejak
- Ukuran
- kecil
- So
- beberapa
- kadang-kadang
- lagu
- khusus
- tertentu
- ditentukan
- penyalahgunaan
- berdiri
- standar
- pokok
- dimulai
- Langkah
- berhenti
- penyimpanan
- menyimpan
- tersimpan
- Tali
- struktur
- tersusun
- struktur
- seperti itu
- SVG
- identik
- tabel
- Mengambil
- Teknis
- teks
- dari
- bahwa
- Grafik
- Dunia
- mereka
- Mereka
- kemudian
- Sana.
- Ini
- mereka
- hal
- berpikir
- Pikir
- Ketiga
- ini
- Melalui
- waktu
- kali
- untuk
- terlalu
- alat
- alat
- tema
- tradisional
- Mengubah
- transisi
- benar
- dua
- mengetik
- jenis
- khas
- Tiba-tiba
- tidak seperti
- us
- menggunakan
- bekas
- menggunakan
- biasanya
- nilai
- Nilai - Nilai
- berbagai
- Ve
- serba guna
- fleksibilitas
- ingin
- Cara..
- cara
- we
- BAIK
- Apa
- ketika
- yang
- sementara
- sangat
- akan
- dengan
- tanpa
- Kerja
- bekerja
- dunia
- bernilai
- akan
- Kamu
- Anda
- zephyrnet.dll