Python Array of Numeric Values

Dalam tutorial ini, Anda akan belajar tentang modul array Python, perbedaan antara array dan daftar, dan bagaimana dan kapan menggunakannya dengan bantuan contoh.

Catatan: Ketika orang mengatakan array dengan Python, lebih sering daripada tidak, mereka berbicara tentang daftar Python . Jika demikian, kunjungi tutorial daftar Python.

Dalam tutorial ini, kami akan fokus pada modul bernama array. The arraymodul memungkinkan kita untuk menyimpan koleksi nilai numerik.

Membuat Array Python

Untuk membuat array nilai numerik, kita perlu mengimpor arraymodul. Sebagai contoh:

 import array as arr a = arr.array('d', (1.1, 3.5, 4.5)) print(a)

Keluaran

 larik ('d', (1.1, 3.5, 4.5))

Di sini, kami membuat array floattipe. Surat itu dadalah kode tipe. Ini menentukan jenis larik selama pembuatan.

Kode jenis yang umum digunakan adalah sebagai berikut:

Kode Tipe C. Jenis Python Min byte
b karakter bertanda tangan int 1
B unsigned char int 1
u Py_UNICODE Unicode 2
h ditandatangani pendek int 2
H pendek unsigned int 2
i ditandatangani int int 2
I unsigned int int 2
l ditandatangani lama int 4
L unsigned long int 4
f mengapung mengapung 4
d dua kali lipat mengapung 8

Kami tidak akan membahas tipe C yang berbeda dalam artikel ini. Kami akan menggunakan dua kode tipe di seluruh artikel ini: iuntuk bilangan bulat dan duntuk float.

Catatan : uKode tipe untuk karakter Unicode tidak digunakan lagi sejak versi 3.3. Hindari penggunaan sebanyak mungkin.

Mengakses Elemen Array Python

Kami menggunakan indeks untuk mengakses elemen array:

 import array as arr a = arr.array('i', (2, 4, 6, 8)) print("First element:", a(0)) print("Second element:", a(1)) print("Last element:", a(-1))

Keluaran

 Elemen pertama: 2 Elemen kedua: 4 Elemen terakhir: 8

Catatan : Indeks dimulai dari 0 (bukan 1) mirip dengan daftar.

Mengiris Array Python

Kita bisa mengakses berbagai item dalam array dengan menggunakan operator slicing :.

 import array as arr numbers_list = (2, 5, 62, 5, 42, 52, 48, 5) numbers_array = arr.array('i', numbers_list) print(numbers_array(2:5)) # 3rd to 5th print(numbers_array(:-5)) # beginning to 4th print(numbers_array(5:)) # 6th to end print(numbers_array(:)) # beginning to end

Keluaran

 larik ('i', (62, 5, 42)) larik ('i', (2, 5, 62)) larik ('i', (52, 48, 5)) larik ('i', (2 , 5, 62, 5, 42, 52, 48, 5))

Mengubah dan Menambahkan Elemen

Array bisa berubah; elemen mereka dapat diubah dengan cara yang sama seperti daftar.

 import array as arr numbers = arr.array('i', (1, 2, 3, 5, 7, 10)) # changing first element numbers(0) = 0 print(numbers) # Output: array('i', (0, 2, 3, 5, 7, 10)) # changing 3rd to 5th element numbers(2:5) = arr.array('i', (4, 6, 8)) print(numbers) # Output: array('i', (0, 2, 4, 6, 8, 10))

Keluaran

 larik ('i', (0, 2, 3, 5, 7, 10)) larik ('i', (0, 2, 4, 6, 8, 10))

Kita dapat menambahkan satu item ke array menggunakan append()metode ini, atau menambahkan beberapa item menggunakan extend()metode tersebut.

 import array as arr numbers = arr.array('i', (1, 2, 3)) numbers.append(4) print(numbers) # Output: array('i', (1, 2, 3, 4)) # extend() appends iterable to the end of the array numbers.extend((5, 6, 7)) print(numbers) # Output: array('i', (1, 2, 3, 4, 5, 6, 7))

Keluaran

 larik ('i', (1, 2, 3, 4)) larik ('i', (1, 2, 3, 4, 5, 6, 7))

Kami juga dapat menggabungkan dua array menggunakan +operator.

 import array as arr odd = arr.array('i', (1, 3, 5)) even = arr.array('i', (2, 4, 6)) numbers = arr.array('i') # creating empty array of integer numbers = odd + even print(numbers)

Keluaran

 larik ('i', (1, 3, 5, 2, 4, 6)) 

Menghapus Elemen Array Python

Kita bisa menghapus satu atau lebih item dari array menggunakan pernyataan del Python.

 import array as arr number = arr.array('i', (1, 2, 3, 3, 4)) del number(2) # removing third element print(number) # Output: array('i', (1, 2, 3, 4)) del number # deleting entire array print(number) # Error: array is not defined

Keluaran

 array ('i', (1, 2, 3, 4)) Traceback (panggilan terakhir terakhir): File "", baris 9, dicetak (angka) # Error: array tidak didefinisikan NameError: nama 'number' adalah tidak terdefinisikan

Kita dapat menggunakan remove()metode untuk menghapus item yang diberikan, dan pop()metode untuk menghapus item pada indeks yang diberikan.

 import array as arr numbers = arr.array('i', (10, 11, 12, 12, 13)) numbers.remove(12) print(numbers) # Output: array('i', (10, 11, 12, 13)) print(numbers.pop(2)) # Output: 12 print(numbers) # Output: array('i', (10, 11, 13))

Keluaran

 larik ('i', (10, 11, 12, 13)) 12 larik ('i', (10, 11, 13))

Periksa halaman ini untuk mempelajari lebih lanjut tentang metode array dan array Python.

Daftar Python Vs Array

Dengan Python, kita bisa memperlakukan list sebagai array. Namun, kami tidak dapat membatasi jenis elemen yang disimpan dalam daftar. Sebagai contoh:

 # elements of different types a = (1, 3.5, "Hello") 

Jika Anda membuat array menggunakan arraymodul, semua elemen array harus memiliki tipe numerik yang sama.

 import array as arr # Error a = arr.array('d', (1, 3.5, "Hello"))

Keluaran

 Traceback (most recent call last): File "", line 3, in a = arr.array('d', (1, 3.5, "Hello")) TypeError: must be real number, not str

When to use arrays?

Lists are much more flexible than arrays. They can store elements of different data types including strings. And, if you need to do mathematical computation on arrays and matrices, you are much better off using something like NumPy.

So, what are the uses of arrays created from the Python array module?

The array.array type is just a thin wrapper on C arrays which provides space-efficient storage of basic C-style data types. If you need to allocate an array that you know will not change, then arrays can be faster and use less memory than lists.

Kecuali Anda tidak benar-benar membutuhkan array (modul array mungkin diperlukan untuk berinteraksi dengan kode C), penggunaan modul array tidak disarankan.

Artikel yang menarik...