Python Data Structures (Veri Yapıları) genel olarak programlama performans açısından çok önemlidir. Veri yapılarını basitçe şöyle tanımlayabiliriz arkadaşlar. Diyelim, bir markete sahipsiniz ve içinde binlerce ürün var. Bu ürünlerin özelliklerinin (isim, kilo gram, renk, adet, vs) tutulduğunu bir veritabanı düşününün. Siz arama yapmak istediğinizde bana şu renkte şu kilogramı geçmeyen ürünleri listele dediğinizde bir veri yapınız olmalı ki çok hızlı saniyeler içerisinde sonuçlar gelsin.

Bu veri yapıları için kullanılan metotlar arrays, lists, stack, queues, trees metotlarıdır. Bu yazımızda python dilinde bunların nasıl yapıldığını öğreneceğiz.

aşağıdaki komutların ilk önce ne işe yaradığını daha sonra kodlama ile örnekleyelim.

list.count(x): listenizdeki eleman sayısını sayarak size döndürür.

list.index(xstartend): parantez içindeki değerin listenizdeki sıra numarasını size döndürür.

list.reverse(): listenizdeki elemanları tersten dizer.

list.append(x): listenize eleman ekler

list.sort(): listenizi sıralar

list.clear(): listenizin içini temizler

list.pop(): listenize son eklenmiş olan elemanı siler

list.copy(): listenizdeki elemanları başka bir liseye kopyalar

Bu komutları aşağıda uygulayalım.

>>> renkler = ['mavi', 'siyah', 'sari', 'beyaz', 'siyah']
>>> renkler.count('siyah')
2
>>> renkler.index('sari')
2
>>> renkler.index('siyah', 3)   # 3. sıradan başlayarak bul
4
>>> renkler.reverse()
>>> renkler
['siyah', 'beyaz', 'sari', 'siyah', 'mavi']
>>> renkler.append('gri')
>>> renkler
['siyah', 'beyaz', 'sari', 'siyah', 'mavi', 'gri']
>>> renkler.sort()
>>> renkler
['beyaz', 'gri', 'mavi', 'sari', 'siyah', 'siyah']
>>> renkler.pop()
'siyah'
>>> renkler
['beyaz', 'gri', 'mavi', 'sari', 'siyah']
>>> 
>>> a = renkler.copy()
>>> a
[' beyaz', 'gri', 'mavi', 'sari', 'siyah']

Bunlara ek olarak del ifadesiyle bir kaç örnek yapalım. del komutunu listenizdeki elemanları silmek için kullanabilirsiniz. İsterseniz bir eleman, ister belirli bir indexten belirli bir indexe kadar, isterseniz list.clear ile aynı şekilde kullanabilirsiniz.

>>> renkler
[' beyaz', 'gri', 'mavi', 'sari', 'siyah']
>>> del renkler[0]
>>> renkler
['gri', 'mavi', 'sari', 'siyah']
>>> del renkler[1:3]
>>> renkler
['gri', 'siyah']
>>> del renkler[:]
>>> renkler
[]
>>>

Çok boyutlu dizi oluşturma satır sonuna virgül koyarak çok boyutlu dizileri yazabilirsiniz.

matrix = [    
    [1, 2, 3, 4],
    [5, 6, 7, 8],
    [9, 10, 11, 12],
    ]

>>> matrix
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]

Demetler ve Seriler (Tuples and Sequences)

Python dilinde farklı türdeki dataları aynı list altında toplayabilirsiniz. Fakat burada dikkat etmeniz gereken şey demetlerde indexleme çalışmamaktadır.

>>> a = 15, 64, 'kiraz'
>>> a
(15, 64, 'kiraz')
>>> a[1]
64
>>> b = a, (7,6,5,4)
>>> b
((15, 64, 'kiraz'), (7, 6, 5, 4))
>>>

Set İfadesi

Bu komut matematikte kullanılan kümelerin birleştiğinde ortaya çıkan elemanları gösterebilmesine benzetilebilir.

>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a                                  # unique letters in a
{'a', 'r', 'b', 'c', 'd'}
>>> a - b                              # letters in a but not in b
{'r', 'd', 'b'}
>>> a | b                              # letters in a or b or both
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b                              # letters in both a and b
{'a', 'c'}
>>> a ^ b                              # letters in a or b but not both
{'r', 'd', 'b', 'm', 'z', 'l'}

Python Data Structures yapılarını bu yazımızda kabaca değinmiş olduk. Umarım faydalı olur. İyi çalışmalar.


0 yorum

Bir yanıt yazın

Avatar yer tutucu

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.