Python Öğreniyoruz Bölüm 3: Listeler

Hatice Candan
5 min readOct 16, 2022

--

Merhabalar herkese yeniden, 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ığında beyanı kadın olan bireyleri 3 ay boyunca yazılım eğitimi ve destekleyici eğitimlerle güçlendirerek sektörde iş gücüne katılımını artırmayı hedefliyor. Projeyle ilgili detaylı bilgiye bu bağlantıdan ulaşabilirsiniz: https://sisterslab.co/women-in-tech-academy/

“Python Öğreniyoruz” adlı yazı serimize kaldığımız yerden devam ediyoruz. Geçen haftaki yazımızda fonksiyonlar konusunu ele almıştık, eğer okumadıysanız buradan okuyabilirsiniz. Bu yazımızda ise liste veri yapısını ayrıntılarıyla inceleyeceğiz. Şimdiden hepinize keyifli ve verimli okumalar…

Liste Nedir ?

Listeler yapıları gereği stringlere oldukça benzeyen indekslenip parçalanabilen ve üzerinde değişiklikler yapabildiğimiz bir veri yapısıdır. Önemli özellikleri şunlardır:

  • Listeler [ ] (köşeli parantez) ile tanımlanır, liste elemanları , (virgül) ile ayrılır.
  • Listeler farklı tipte veriler içerebilir.
  • Listelere index ile erişilebilir bu özellik sıralı yani ordered olarak bilinir.
  • Listeler duplicate veri barındırabilir, yani aynı değere sahip birden fazla veri bulundurabilir.
  • Listeler mutabledır. Yani liste içine eklenen veri değiştirilebilir.

Listeler konusunda bu yazıda neler öğreneceğiz?

  1. Liste Tanımlama
  2. Liste Elemanlarına Erişim ve Slicing
  3. Temel Liste Metodları
  4. İç içe Listeler

O zaman haydii başlayalımm.

1. Liste Tanımlama

Listeler [ ] ile tanımlanıp liste elemanları , ile ayrılır. Aşağıda ilk_listem adında bir liste tanımladım ve print ile ekrana yazdırdım. Veri yapılarının tipini öğrenmek için type() methodu kullanıyorduk. örnek liste tanımlamayı görebilirsiniz.

Ayrıca listeler farklı veri tiplerini barındırabilir demiştik. Tanımladığımız listeyi string, integer ve float veri tiplerinde elemanlar ile oluşturduk.

Liste tanımlama ve ekrana yazdırma

2.Liste Elemanlarına Erişim ve Slicing

Liste elemanlarına tıpkı stringlerde olduğu gibi 0' dan başlayarak indeks numarası ile erişebiliriz. Aynı şekilde -1. indeks numarası ile de listenin sonuncu elemanına erişebiliriz. Listelerde sadece bellir bir kısmı almak istediğimiz durumlar için de yine stringlerde olduğu gibi başlangıç, bitiş ve adım atlama aralığı vererek parçalama (slicing) işlemini yapmış oluruz.

Listelerde pozitif ve negatif indexleme

Tüm bunları daha iyi anlayabilmek için kod örneğine bakalım.

listelerde indexleme ve slicing işlemleri

Yukarıdaki kod blogunun çıktısı şu şekilde olacaktır.

Listenin 0.indeksindeki eleman: 3 
Listenin 6.indeksindeki eleman: 7
Listenin sonundaki eleman: 10
Listenin sondan ikinci elemanı: 9
Listenin ters çevrilmiş hali : [10, 9, 8, 7, 6, 5, 5, 3, 4, 3]

Slicing işlemleri
Listedeki elemanları 2şer atlayarak yazdıralım: [3, 3, 5, 7, 9] Listenin 6. indeksi ile sonuncu eleman arasındaki değerleri alalım: [7, 8, 9]

Liste elemanlarına döngüler ile erişim

liste elemanları içindeki her bir elemana döngü ile erişilebilir

Liste elemanlarına indeks ile erişimi öğrendik ancak her bir elemana tek tek indeks numarası girerek ulaşmanın zor olduğu durumlarda döngüler ile erişebiliriz. Peki nasıl ? Hemen inceleyelim.

Dört elemandan oluşan ilk_listem olarak tanımlanan listedeki her bir eleman item değişkenine atanarak print() metodu ile ekrana yazdırılmıştır.

döngü ile liste elemanlarına erişim
Çıktı:Hatice 
Candan
26
1.65

Listelerin en önemli özelliği değiştirilebilir yani mutable olmalarıdır. Biz liste içerisinde yer alan verilere eriştikten sonra bu değerleri değiştirebiliriz. Örneğin yukarıda tanımladığımız ilk_listem adlı listedeki ilk “Hatice” ismini “Nazlı” olarak değiştirelim.

listenin ilk elemanını değiştirme işlemi

3. Temel Liste Methodları

Listelerde en bilinen ve en çok kullanılan metodlar şunlardır :

  • len() : listenin uzunluğunu bulmamıza yarar
len() methodu
  • append(): verdiğimiz değeri listenin sonuna ekler
append() methodu
  • insert() : listeye eklemek istediğimiz veriyi istenilen index numarasına eklememizi sağlar

Bu örnekte listenin 2. indeksine “Kadın” verisini ekledik.

insert() methodu
  • extend(): birden fazla elemanı listenin sonuna eklemeye yarar
extend() methodu

Şimdi ise listeden elema silme işlemlerini nasıl yapacağımıza bakalım.

  • remove() : içine yazılan değeri ilk bulduğu indeksten siler
remove methodu

Görüldüğü üzere listenin içinde iki adet 1 değeri olmasına rağmen sadece ilk bulduğu indexteki değeri sildi.

  • pop() : içine değer vermezsek listenin son indeksindeki elemanı, değer verirsek verdiğimiz değere karşılık gelen indeksteki elemanı listeden atar ve attığı elemanı ekrana basar.
pop methodu()

Kod çıktısında görüldüğü gibi my_list.pop() yazıp içine değer yazmayınca sondaki elemanı silerken içinde 2 yazdığımızda 2.indeksteki eleman olan 89 değerini listeden sildi.

  • clear () : listenin içini siler, yani listeyi boş liste yapar
clear methodu
  • del () : listeyi tamamen siler, sonradan aynı listeyi çağırmak istediğimizde ise ilgili liste silineceği için hata mesajı alırız.

del fonksiyonunu listeden belli bir aralıktaki elemanları silmek için de kullanabiliriz.

del methodu
del methodu

Üstteki kodda del my_list yaptığımızda liste tamamen hafızadan silenecektir. Print methodu ile silinen listeyi tekrar çağırdığımızda ise aşağıdaki hata mesajını alacağız.

--------------------------------------------------------------------------- NameError       Traceback (most recent call last) 
<ipython-input-31-b86bb1756ce3> in <module>
4
5 del my_list
----> 6 print(my_list)
NameError: name 'my_list' is not defined
  • sort () : listenin elemanlarını sıralamamızı sağlar.
sort() ile küçükten büyüğe sıralama

Eğer içine herhangi bir şey yazılmazsa küçükten büyüğe sıralama yaparken içine reverse = True ifadesini alırsa büyükten küçüğe sıralama yapar.

sort() ile büyükten küçüğe sıralama

4. İç İçe Listeler

Bir listenin içinde başka bir liste bulundurulabilir ve buna içiçe listeler denir. Bu özellik, Pythonda ağaç yapılarında veya matris yapılarında oldukça kullanışlıdır.

Daha iyi anlamak adına büyük bir liste içerisinde elemanları da liste olan yeni bir liste oluşturalım.

iç içe liste oluşturma
#Yeni listenin uzunluğuna bakalım
len(yeniliste)
Çıktı: 3

Eğer liste içindeki ikinci listenin ilk elemanına erişmek isterse;

yeniliste[1][0] #kullanarak 4 değerine ulaşabiliriz.Çıktı:
4

Son Söz ve Kapanış

“Python Öğreniyoruz” yazı serimizin üçüncüsü burada son bulmaktadır. Buraya kadar geldiğiniz ve okuduğunuz için teşekkür ederim. Bu yazımda listeler konusunu ele alarak Python’da liste tanımlama,liste elemanlarına erişim, slicing işlemleri, temel liste metodları ve iç içe listeler konusuna değindim. Umarım hepiniz için faydalı olmuştur. Gelecek yazımda tuple veri yapısından bahsediyor olacağım.

Şimdilik kendinize cici bakın :)

Photo by Alex Motoc on Unsplash

--

--

Hatice Candan

AI Engineer Intern at Mia Teknoloji || ex - Core Team Lead at Google Developer Student Clups ML and AI Team