Array Python Nilai Numerik

Dalam tutorial ini, anda akan belajar mengenai modul array Python, perbezaan antara tatasusunan dan senarai, dan bagaimana dan kapan menggunakannya dengan bantuan contoh.

Nota: Apabila orang menyebut tatasusunan dalam Python, lebih kerap daripada itu, mereka bercakap mengenai senarai Python . Sekiranya demikian, lawati tutorial senarai Python.

Dalam tutorial ini, kita akan memfokuskan pada modul bernama array. The arraymodul membolehkan kita untuk menyimpan koleksi nilai angka.

Membuat Python Arrays

Untuk membuat susunan nilai angka, kita perlu mengimport arraymodul. Sebagai contoh:

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

Pengeluaran

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

Di sini, kami membuat pelbagai floatjenis. Huruf itu dadalah kod jenis. Ini menentukan jenis larik semasa penciptaan.

Kod jenis yang biasa digunakan disenaraikan seperti berikut:

Kod Jenis C Jenis Python Bait min
b char ditandatangani int 1
B char tidak bertanda tangan int 1
u PY_UNICODE Unikod 2
h ditandatangani pendek int 2
H tidak bertanda pendek int 2
i ditandatangani int int 2
I int tidak bertanda tangan int 2
l ditandatangani lama int 4
L tidak bertanda panjang int 4
f terapung terapung 4
d berganda terapung 8

Kami tidak akan membincangkan pelbagai jenis C dalam artikel ini. Kami akan menggunakan dua jenis kod dalam keseluruhan artikel ini: iuntuk bilangan bulat dan duntuk apungan.

Catatan : uKod jenis untuk watak Unicode sudah tidak digunakan lagi sejak versi 3.3. Elakkan menggunakan sebanyak mungkin.

Mengakses Python Array Elements

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))

Pengeluaran

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

Catatan : Indeks bermula dari 0 (bukan 1) yang serupa dengan senarai.

Menghiris Susunan Python

Kami dapat mengakses pelbagai item dalam array dengan menggunakan operator pemotong :.

 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

Pengeluaran

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

Menukar dan Menambah Elemen

Susunan berubah-ubah; elemen mereka boleh diubah dengan cara yang serupa seperti senarai.

 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))

Pengeluaran

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

Kita dapat menambahkan satu item ke array menggunakan append()kaedah, atau menambahkan beberapa item menggunakan extend()kaedah 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))

Pengeluaran

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

Kami juga dapat menggabungkan dua tatasusunan 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)

Pengeluaran

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

Mengeluarkan Elemen Python Array

Kita boleh memadam 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

Pengeluaran

 array ('i', (1, 2, 3, 4)) Jejak (panggilan terakhir terakhir): Fail "", baris 9, dicetak (nombor) # Ralat: array tidak ditentukan NameError: name 'number' is tidak ditakrifkan

Kita dapat menggunakan remove()kaedah 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))

Pengeluaran

 tatasusunan ('i', (10, 11, 12, 13)) 12 array ('i', (10, 11, 13))

Lihat halaman ini untuk mengetahui lebih lanjut mengenai kaedah array dan array Python.

Python Menyenaraikan Susunan Vs

Di Python, kita boleh menganggap senarai sebagai tatasusunan. Namun, kami tidak dapat mengekang jenis elemen yang tersimpan dalam senarai. Sebagai contoh:

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

Sekiranya anda membuat tatasusunan menggunakan arraymodul, semua elemen larik mestilah dari jenis angka yang sama.

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

Pengeluaran

 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 memerlukan array (modul array mungkin diperlukan untuk berinteraksi dengan kod C), penggunaan modul array tidak digalakkan.

Artikel menarik...