Python Sayısal Değerler Dizisi

Bu eğitimde, Python dizi modülü, diziler ve listeler arasındaki fark ve örnekler yardımıyla bunların nasıl ve ne zaman kullanılacağını öğreneceksiniz.

Not: İnsanlar Python'da diziler dediğinde, çoğu zaman Python listelerinden bahsederler . Durum buysa, Python listesi eğitimini ziyaret edin.

Bu eğitimde, adlı bir modüle odaklanacağız array. arrayModül bize sayısal değerler bir koleksiyon saklamasına olanak sağlar.

Python Dizileri Oluşturma

Sayısal değerler dizisi oluşturmak için arraymodülü içe aktarmamız gerekir . Örneğin:

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

Çıktı

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

Burada bir tür dizisi oluşturduk float. Harf dbir tür kodudur. Bu, oluşturma sırasında dizinin türünü belirler.

Yaygın olarak kullanılan tür kodları aşağıda listelenmiştir:

Kod C Tipi Python Türü Min bayt
b imzalı karakter int 1
B imzasız karakter int 1
u Py_UNICODE Unicode 2
h kısa imzalı int 2
H imzasız kısa int 2
i imzalı int int 2
I imzasız int int 2
l uzun imzaladı int 4
L imzasız uzun int 4
f yüzer yüzer 4
d çift yüzer 8

Bu makalede farklı C türlerini tartışmayacağız. Bu makalenin tamamında iki tür kodu kullanacağız: itamsayılar için ve dkayan değerler için.

Not : uUnicode karakterlerin tür kodu 3.3 sürümünden beri kullanımdan kaldırılmıştır. Mümkün olduğunca çok kullanmaktan kaçının.

Python Dizi Öğelerine Erişim

Bir dizinin öğelerine erişmek için indisler kullanıyoruz:

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

Çıktı

 İlk eleman: 2 İkinci eleman: 4 Son eleman: 8

Not : Dizin, listelere benzer şekilde 0'dan (1 değil) başlar.

Python Dizilerini Dilimleme

Dilimleme operatörünü kullanarak bir dizideki bir dizi öğeye erişebiliriz :.

 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

Çıktı

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

Eleman Değiştirme ve Ekleme

Diziler değiştirilebilir; öğeleri listelere benzer şekilde değiştirilebilir.

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

Çıktı

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

append()Yöntemi kullanarak diziye bir öğe ekleyebilir veya extend()yöntemi kullanarak birkaç öğe ekleyebiliriz .

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

Çıktı

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

+Operatör kullanarak iki diziyi de birleştirebiliriz .

 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)

Çıktı

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

Python Dizi Öğelerini Kaldırma

Python'un del ifadesini kullanarak bir diziden bir veya daha fazla öğeyi silebiliriz.

 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

Çıktı

 array ('i', (1, 2, 3, 4)) Geri izleme (en son çağrı): Dosya "", satır 9, baskıda (numara) # Hata: dizi tanımlanmadı Ad Hatası: ad 'sayı' tanımlanmamış

Biz kullanabilirsiniz remove()verilen madde ve kaldırmak için yöntem pop()Belirtilen dizinde bir öğe kaldırmak için yöntem.

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

Çıktı

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

Python dizisi ve dizi yöntemleri hakkında daha fazla bilgi edinmek için bu sayfayı kontrol edin.

Python Vs Dizilerini Listeler

Python'da listeleri diziler olarak ele alabiliriz. Ancak, bir listede saklanan elemanların türünü sınırlayamayız. Örneğin:

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

arrayModülü kullanarak diziler oluşturursanız , dizinin tüm öğeleri aynı sayısal türde olmalıdır.

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

Çıktı

 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.

Dizilere gerçekten ihtiyacınız olmadıkça (C kodu ile arayüz için dizi modülü gerekebilir), dizi modülünün kullanılması tavsiye edilmez.

Ilginç makaleler...