4- Python’da List ve Tuple

Elvan Uzun
3 min readJun 11, 2022

--

Merhaba, ben Elvan.

SistersLab’in Toplum Gönüllüleri Vakfı (link:https://www.tog.org.tr/en/) 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: https://sisterslab.co/women-in-tech-academy/

Python’da listeleri ve tupleları öğrenmeye hazırsanız başlayalım.

LİSTELER

Listelerin genel özellikleri aşağıda verilmiştir:

  • Listeler sıralıdır ve index ile ilgili elemana erişilebilir.
  • Değiştirilebilir (mutable) yani liste içine eklediğimiz bir veriyi değiştirebiliriz.
  • Köşeli parantez içerisinde tanımlanır . Liste elemanları virgüllerle birbirinden ayrılır.
  • Farklı tipte veriler içerebilir.(String, Float, Int)
  • Aynı değerlere sahip iki öğeye sahip olabilir yani duplicate veri içerebilir.

Örnek olarak:

list_int = [1, 8, 5, 5, 0, 1]
list_string = [“Elvan”, “Melike”]
list_bool = [True, False]
list_float = [5.78, 16.4, 87.3]

1- Listeye Eleman Ekleme

  • append() → Listenin sonuna yeni elemanı ekler.
  • insert() → Elemanı listede konumlandırmak istediğimiz yere ekler. Liste kaydırılacağı için iki parametre ister. insert(index, value)
  • extend() → Listenin sonuna ekleme yapar. Birden fazla elemanı aynı anda ekleyebiliriz.

Liste elemanları üzerinde değişiklik:

Listemizin birkaç elemanını değişmek istersek slicing ile değişmek istediğimiz index aralığını belirtir ve bu indexlere gelmesini istediğimiz elemanları yazarız.

2- Listeden Eleman Silme

  • remove() → Parametre olarak silinecek elemanı alır ve ilk bulduğu yerde siler. Olmayan bir elemanı silmeye çalışırsak hata alırız.
  • pop() → Parametre olarak silmek istediğimiz elemanın index numarasını yazarız. Sadece pop() yazarsak son elemanı siler.
  • del() → Belirli aralıktaki elemanları silmek için kullanılır. Bir aralık belirtmezsek listenin tamamını silmiş oluruz.
  • clear() → Listenin bütün elemanlarını silmek için kullanılır. Boş liste döner.

NOT: Del metodu ile obje referansı da silindiğinden listeye ulaşmak istediğimizde NameError alırken clear() metodu ile hata almayız çünkü listenin referansı bellekte olmaya devam eder ancak içi boş olur.

Liste içerisinde bir elemanın indexini bulmak istersek index() metodunu kullanırız.

İki Listeyi Birleştirme(Concat)

  • Listeleri “+” operatörü veya extend metodu ile birleştirebiliriz.

Bir listenin kopyalanması

  • Listeleri “=” operatörü veya copy() metodu ile kopyalayabiliriz.

Not: Atama operatörü kullanırsak bir listede yapılan değişiklik diğer listeyi de etkilemiş olur.

Yukardaki örnekte çıktılar sırasıyla şu şekilde olur:

[1, 2, 3, 4, 5]

[1, 2, 3, 4, 6]

Not: copy () metodu kullanılarak oluşturulan yeni listede yapılan değişiklikler orjinal listeyi etkilemez.

Bir liste üzerinde işlem yapabileceğimiz bazı metotlar

  • sort : Liste elemanlarını sıralar.
  • reverse : Elemanları tersten sıralar.
  • max : Listenin en büyük elemanını verir.
  • min : Listenin en küçük elemanını verir.
  • sum : Liste elemanlarının toplamını verir.

Şimdi birkaç örnek soru çözelim:

1- Listede bulunan her 5 elemanı sonrası listeye 6 elemanını ekleyen kod bloğunu yazalım.

Döngüyle list içerisinde bulunan her elemanı my_list’e ekliyor ve eğer eklenecek elemanımız 5 ise sonrasında 6 ekleyerek soruyu çözüyoruz.

2- Verilen [1, 2, 4 ] listesinin içerisindeki elemanların karelerinden oluşan listeyi yazdıralım.

3- İç içe liste kullanımında istediğimiz index’e eleman eklemek ile ilgili bir örnek çözelim.

4- Verilen [1, 2, 3, 4, 1, 2, 5, 6, 2] listesinde bulunan her elemanın bir kez yazdığı yani içerisinde duplicate verinin bulunmadığı bir yeni bir liste oluşturalım.

TUPLE

Tupleların genel özellikleri aşağıda verilmiştir:

  • Index ile erişilebilir, sıralıdır. Var olmayan bir index’i yazdırmak istersek hata alırız.
  • () ile tanımlanır, elemanlar virgüllerle ayrılır.
  • Aynı değere sahip iki öğeye sahip olabilir.(Duplicate veri alabilir.)
  • Farklı tipte veriler içerebilir.
  • Elemanlar değiştirilemez.

my_tuple’da bulunan elemanları sırasıyla name, age, female’ i atadık.

  • len() metodu ile tuple’ın uzunluğunu bulabiliriz.
  • Belirli bir index aralığında istediğimiz elemanın olup olmadığına bakabiliriz.

print(my_tuple.index(0, 4, 7)) # 4. ve 7.indexler arası 0 elemanını arar. İstenen değer bu aralıkta değilse hata verir.

Not: Tuplelarda elemanlar değiştirilemez. Listelerde bu tür değişiklikler kolayca yapılabildiğinden listeye çevirip gerekli değişiklikleri yapıp tekrar tuple’a çevirebiliriz.

Aşağıda örnekteki gibi yazılan tuple’da 0. indexi (birinci elemanı) değiştirmek istersek hata alırız.

Artık tuplelarda elemanları değiştirmek istersek listeye çevirip bu işlemleri gerçekleştirmemiz gerektiğini biliyoruz.

Gelin birlikte bir tuple’ı listeye çevirip yeni bir eleman ekleyelim ve bu listeyi son olarak tekrar tuple’a çevirelim ve bu çevirme işlemlerini nasıl yapacağımızı öğrenelim.

my_list’i list()metodu kullanarak ilk önce listeye çevirdik ve append ile yeni elemanı ekledik. Sonrasında tuple() metodu ile tekrar tuple’a çevirdik ve sorunumuzu çözmüş olduk.

Önemli bir not:

Tuple’da elemanları değiştiremiyoruz evet fakat tuple içerisinde bulunan bir listenin elemanlarını değiştirebilir ve sadece bu liste için metotlarımızı kullanabiliriz.

Bir Tuple’ın Kopyalanması

  • Listeleri kopyalarken kullandığımız “=” operatörü ile tupleları da kopyalayabiliriz.

Not: Atama operatörü kullanırsak tuple’da yapılan değişiklik diğer tuple’ı da etkilemiş olur.

Herkese keyifli bir gün diliyorum, bir sonraki yazıda görüşmek üzere.

--

--