Python’da Veri Yapıları (Listeler ve Tuplelar)

Ceydanur İlhan
4 min readJun 19, 2022

--

Herkese merhaba!

SistersLab’in Toplum Gönüllüleri Vakfı tarafından desteklenen Women in Tech Academy proje katılımcılarından biriyim. Proje, 20–28 yaş aralığındaki 25 kadını 3 ay boyunca yazılım eğitimleriyle güçlendirerek sektörde iş gücüne katılımını hedefliyor. Projeyle ilgili daha fazla bilgiye bu linkten ulaşabilirsiniz.

Veri yapıları bütün programlama dilleri için büyük öneme sahiptir. Çünkü veri, yapı ve algoritma bir yazılımın birbirinden ayrılmaz bileşenleridir. Veri yapıları sayesinde birden çok veriyi daha etkin bir şekilde saklayabilir ve işleyebiliriz.

Veri yapıları tiplerine göre veriler de farklı biçimde düzenlenir. Python’da birçok farklı veri yapısı bulunmaktadır.

Ben bu yazımda liste ve tuple veri yapılarından bahsedeceğim.

Liste

Listeler aynı ya da farklı tipte birden çok değişken içeren veri yapısıdır. Bir liste tanımlarken listenin elemanlarını [] içerisine virgüller ile ayırarak yazarız. Liste veri tipi sıralıdır ve elemanlara index yardımıyla erişim sağlayabiliriz. Listeler aynı değere sahip yani duplicate olan verilere sahip olabilir.

Bir listenin uzunluğunu len() fonksiyonu ile bulabiliriz. Listedeki öğelere indexler yardımıyla erişebileceğimizden bahsetmiştim ama eğer liste uzunluğundan daha büyük bir öğeye erişmeye çalışırsak ‘Index Error’ hatası alırız.

Slicing

Listelerde slicing ile belirttiğimiz indixlerdeki elemanları görüntüleyebiliriz.

Slicing’i 4 farklı şekilde kullanabiliriz :

  • [baslangic_index:bitis_index:artım_değeri]
  • [baslangic_index:bitis_index]
  • [:bitis_index]
  • [::artım_değeri]

Liste Elemanları Üzerinde Gezinme

Bir listedeki elemanlara indexleri üzerinden erişim sağlayabiliriz.

Listenin elemanlarına listenin sonundan itibaren erişmek istediğimizde negatif indexleri kullanırız.

Listede istediğimiz bir elemanın index değerini de bulabiliriz.

Bir listeyi tersten şu şekilde yazdırırız.

For döngüsü ile listenin elemanlarını ekrana bastırabiliriz.

Listenin elemanlarını yan yana bastırmak istersek end=” “ ifadesini kullanırız.

Liste Elemanları Üzerinde Değişiklik

Liste içerisindeki herhangi bir elemanın indexine erişerek bu elemanın değerini değiştirmek mümkündür.

Listeye Eleman Ekleme

Bir listeye bir çok şekilde eleman ekleyebiliriz. Bunlardan bazıları append(), insert() ve extend() komutladır.

Append

Bu komutla belirtilen listenin sonuna istenilen elemanı ekleyebiliriz. Append komutunun kullanım syntaxı liste_adı.append(value) şeklindedir.

Insert

Bu komutla belirtilen listenin istenilen indixine istenilen elemanı ekleyebiliriz. Insert komutunun kullanım syntaxı insert(index,value) şeklindedir.

Extend

İngilizcede genişletmek anlamına da gelen extend komutu ile belirtilen listenin sonuna istediğimiz sayıda elemanı ekleyebiliriz. Bu komutun kullanım syntaxı liste_adı.extend([value1, value2, value3]) şeklindedir.

Listeden Eleman Silme

Bir listeden eleman silmek için remove() , pop() , clear() ve del() komutlarından faydalanırız.

Remove

Bu komut parametre olarak silinecek elemanı alır ve siler. Eğer bu listede silinecek olan eleman duplicate olarak bulunuyorsa silinecek elemanı ilk gördüğü indexteki elemanı siler.

Pop

Bu komutun listelerde iki şekilde kullanımı vardır. Eğer liste_adı.pop() şeklinde kullanırsak listedeki son elemanı siler. Ama liste_adı.pop(index) olarak kullanırsak belirtilen indexteki elemanı siler.

Del

Bu komut ile belirtilen indexteki , belirtilen index aralığındaki elemanları ya listenin tamamını silebiliriz. Ama dikkat etmemiz gereken önemli bir şey vardır. Eğer listenin tamamını del komutu ile silersek listeyi bir daha kullanamayız.

Clear

Bu komut ile belirtilen listedeki tüm elemanları sileriz. Ama liste boş bir liste olarak hafızada tutulmaya devam eder.

Liste Birleştirme

Python’da daha önce tanımlanmış olan birden çok listeyi birleştirmek istediğimizde + operatörünü kullanırız.

extend() metodu ile bir listeye başka bir listeyi ekleyebiliriz.

Liste Kopyalama

Atama operatörü ile bir listeyi diğer listeye eşitlediğimizde listede herhangi bir eleman eklediğimizde iki liste de etkilenir.

Bunun önüne geçmek için copy() metodunu kullanıyoruz. copy() metodu ile yeni bir liste oluşuyor. Orijinal listede yaptığımız değişiklikler yeni listemizi etkilemiyor.

Bir liste üzerinde işlem yapabileceğimiz metodlar:

  • sort() metodu listenin elemanlarını küçükten büyüğe sıralar.
  • reverse() metodu listenin elemanlarının sırasını tersine çevirir.
  • max() metodu listedeki en büyük elemanı bulur.
  • min() metodu listedeki en küçük elemanı bulur.
  • sum() metodu listedeki elemanların toplamını bulur.

İç İçe Listeler

Bir liste içinde eleman olarak bir liste bulundurabilir.

Tuple

Tuplelar aynı ya da farklı tipte birden çok değişken içeren veri yapısıdır. Bir tuple tanımlarken elemanları () içerisine virgüller ile ayırarak yazarız. Tuple veri tipi sıralıdır ve elemanlara index yardımıyla erişim sağlayabiliriz. Listeler aynı değere sahip yani duplicate olan verilere sahip olabilir. Tuple veri yapısı değiştirilemez yani bir tuple oluşturulduktan sonra eleman ekleme, silme, değiştirme gibi işlemleri yapamayız.

Bir tuple tanımlarken elemanlarını illaki () içine almamıza gerek yoktur.

len() fonksiyonu ile bir tuple’ın uzunluğu bulabiliriz.

Tuple Elemanları Üzerinde Gezinme

Bir tuple’daki elemanları index değerleri yardımıyla erişebiliriz.

Bir for döngüsü ile tuple üzerinde gezinip elemanlarını ekrana bastırabiliriz.

Tuple veri tipinin her elemanı bir index değerine sahip olduğu için for döngüsü ile elemanları index bilgisi üzerinden ekrana bastırabiliriz.

Bir tuple’a ait elemanlara sondan başa doğru erişmek istersek negatif index değerlerinden faydalanabiliriz.

Tuple’a ait bir elemanın index değerini bulmak için tuple_adı.index(value) ifadesinden faydalanırız.

Tuple veri tipi değiştirilmezdir. Ama tuple’ımızın tipini liste’ye dönüştürerek eleman ekleme ya da silme işlemlerini gerçekleştirebiliriz.

Bir tuple’ın elemanlarının farklı türlerde olabileceğinden bahsetmiştim. Böyle söylediğimizde aklımıza string, integer, float gibi veri tipleri gelir ama tuple’lar ayrıca liste tipinde elemanlar da bulundurabilir. Ve tuple veri tipi değiştirilemez olmasına rağmen tuple içinde yer alan liste tipindeki elemanın içeriğini değiştirebiliriz.

Slicing

Tuplelarda slicing ile belirttiğimiz indixlerdeki elemanları görüntüleyebiliriz.

Slicing’i 4 farklı şekilde kullanabiliriz :

  • [baslangic_index:bitis_index:artım_değeri]
  • [baslangic_index:bitis_index]
  • [:bitis_index]
  • [::artım_değeri]

Tuple Birleştirme

Listelerde olduğu gibi tuple’larda da daha önce tanımlanmış olan birden çok tuple’ı birleştirmek istediğimizde + operatörünü kullanırız.

Bir yazımın daha sonuna geldik. Umarım keyifle okumuşsunuzdur. Yazı bitse de Python’daki veri yapıları henüz bitmedi. Yeni yazımda diğer veri tipleri ile görüşmek üzere hoşça kalın.

--

--