Python Eğitimleri : 7.Ders

Herkese Merhaba, Bu yazımda proje yazarken sıkça kullanacağımız listeler konusunu işleyeceğiz. Hadi başlayalım.

Listeler

Listeler üzerinde bir çok işlem yapabileceğimiz bir kullanımdır. İndekslenirler, parçalanırlar ve birden fazla girdiğimiz veriyi saklayabilirler. Şimdi sırasıyla hepsini görelim.

Liste Oluşturma

Kullanmak istediğimiz verileri [ ] köşeli parantez içinde girerek listelerimizi oluştururuz. Örneğin;

meyveler adında listemizi oluşturduk ve print fonksiyonuyla yazdırdık. Burada dikkat etmemiz gereken husus listenin içine girdiğimiz değerin tipidir. Yani string (metinsel) ifade girerseniz – örnekte yaptığımız gibi – her değeri çift tırnak içinde girmelisiniz. Sonucumuza bakalım;

Şimdi de sadece integer ifade içeren bir liste yapalım.

integer ifade girerken çift tırnak kullanmamıza gerek yok. Çünkü çift tırnak metinsel ifadelerin ayırt edilmesi için kullanılır. Eğer bir sayıyı tırnak içinde yazarsanız Python onu string bir ifade yani metinsel olarak algılar.  Matematiksel işlemde kullanılmaz.

Ekran çıktısı;

Peki bir liste içinde birden fazla veri tipini kullanabilir miyiz?

Elbette kullanabiliriz. Hem string, hem integer hemde float içeren bir liste tanımlayalım.

Burada üç veri tipini de kullandık. Dikkat etmeliyiz ki string ifadeleri çift tırnak içinde kullandık. Eğer çift tırnak kullanmazsak programımız hata verecektir. Çıktımıza bakalım;

*Listelerimizin içinde kaç eleman olduğu daha önceden öğrenmiş olduğumuz len() fonksiyonuyla yapabiliriz.

Sonuç;

*Boş liste de oluşturabilirsiniz. Bunun iki kullanımı vardır.

Her iki kodun çıktısı aşağıdaki gibi boş listedir;

list() fonksiyonunun string ifadeleri listeye dönüştürme özelliği vardır. Örnekte görelim.

İlk önce string bir a değişkeni atadık. Daha sonra oluşturacağımız listenin adını takım olarak girdik ve list(a) fonksiyonuyla a değişkenimizi liste haline dönüştürdük. Bu kodun çıktısı;

Burada Galatasaray kelimesindeki her karakteri listenin bir elemanına dönüştürdü ve listemizi oluşturdu.

Listeleri Indeksleme ve Parçalama

Oluşturduğumuz listenin istediğimiz elemanıyla işlem yapmamızı sağlar.

İndeks numaralandırmanın 0’dan başladığını önceki derslerimizden biliyoruz. Oluşturduğumuz bu listenin 0,3 ve 5. indekslerini alalım. İndeks alırken,indeksini almak istediğimiz listenin adı yazılır ve ardından köşeli parantez içinde indeks numarası yazılır. Kullanımı aşağıdaki gibidir;

Sonuç;

*Şimdi bu listemizin ilk 4 elemanını ekrana yazdıralım.
Hatırlarsanız stringleri indekslemede de öğrenmiştik. Kullanımları aynıdır.
[başlama indeksi : bitiş indeksi : atlama değeri]

sayılar[0:4] ‘nın anlamı listemizin 0.indeksinden (dahil), 4.indeksini kadar (dahil değil) olan kısmı al demektir.
Sonuç;

Oluşturduğumuz listeyi tersten yazdıralım.

Sonuç;

Örnekleri artırabilirsiniz.

Listeler üzerinde işlemler yapabiliriz. Örneğin iki listeyi birbiriyle toplamak veya bir eleman eklemek gibi. Şimdi bunları nasıl yapıyoruz onu görelim.

Liste Üzerinde Yapılan İşlemler ve Metodlar

İlk olarak toplama işlemini yapalım. Bunun için iki tane liste tanımlamamız gerekiyor.

Sonuç;

İki farklı listeyi tek liste halinde yazmış olduk.

*Listeye eleman ekleme örneği yapalım.

Yaptığımız işlem gayet basit. Listeye eklemek istediğimiz elemanı toplama işlemiyle ekliyoruz. Eğer string bir ifade eklemek istiyorsak köşeli parantez içinde tırnak işareti ile ekleriz. Yeni listemize bakalım;

Aynı listeye bir de integer ifade ekleyelim.

Burada ise sadece integer ifade ekledik ve bu ifadeyi köşeli parantez içinde yazarak yaptık. Yeni listemiz;

*Biz önceki derslerimizde string ifadeleri indeksleme ve parçalama işlemi yapmıştık fakat bu ifadeleri değiştiremiyorduk. Listelerde ise elemanları sonradan değiştirebiliyoruz. Örnek üzerinde görelim.

Değiştirmek istediğimiz listenin adı yazılır. Ardından köşeli parantez içine indeks numarası yazılır ve yeni değere eşitlenir. 45 sayısı listemizde 0.indekste bulunuyor. Bu yüzden notlar[0] şeklinde yazdık. Ekran çıktımıza bakalım;

Gördüğünüz gibi 45 olan ilk notu 95 olarak değiştirdik.

Tıpkı stringlerde olduğu gibi listemizi bir sayıyla çarpabiliriz. Örnek üzerinde görelim;

a adında bir liste oluşturduk ve 3 ile çarptık, a listesine atadık. Sonucumuza bakalım;

Listemizi 3 ile çarptık ve o listeyi 3 kere yazarak yeni listeye atadı. Listelerde çarpma işlemi bu şekildedir.

Listeler konumuzda bir kaç tane metodumuz mevcut. Sırasıyla onları görelim.

append metodu

Listeye eleman eklememizi kolaylaştırır. Kullanımı şöyledir;

İlk oluşturduğumuz listede TS yok. Bu yüzden sonradan append() metodu ile ekliyoruz. Bu metodu kullanmak için elemanı eklemek istediğimiz listenin ismini yazarız araya nokta koyarız ve ardından append() metodunu yazıp parantez içine eklemek istediğimiz değeri yazarız. Yeni listemize bakalım;

Biz string ifade ekledik aynı zamanda diğer veri tiplerinden de istediğimiz gibi ekleyebiliriz. Bir örnek daha yapalım.

String ifadelerin yanına integer değer ekledik. Yeni listemize bakalım;

pop metodu

Bu metod listeninadı.pop()  şeklinde kullanılır. Eğer parantez içini boş bırakırsak listedeki son indeksli elemanı listeden çıkarır. Örneğin;

dersler.pop()’ta parantez içini boş bıraktık ve son indekse sahip olan elemanı yani “Ekonomi” yi listeden çıkardı. Oluşan yeni listemiz;

pop() metodunda parantez içine listeden çıkarmak istediğimiz değerin indeks numarasını yazabiliriz. Örneğin;

“kitap” elemanının indeks numarası 2 olduğundan pop() metodunda parantez içine 2 yazdık. Yeni listemiz;

*Parantez içine listede olmayan bir indeks numarası verirseniz kodunuz hata verecektir.

sort metodu

Listeniz eğer string değerlerden oluşuyorsa alfabetik sıraya göre sıralar veyahut integer değerlerden oluşuyorsa küçükten büyüğe sıralar. Örneğin;

Sonucumuz;

Eğer büyükten küçüğe sıralamak isterseniz kullanımı şöyledir;

sort() metodunda parantez içine reverse = True yazılarak büyükten küçüğe sıralayabilirsiniz. Sonuç;

Bir de string ifadelerle ilgili örnek yapalım;

*İngilizcede büyük i olmadığı için i ile başlayanları I ile yazarız. Eğer büyük i ile yazarsanız listenin sonuna atacaktır. Sonuç;

*Alfabetik sırayı tersten yazdırmak isterseniz yine reverse = True ibaresini kullanabilirsiniz.

İç İçe Listeler

Örneğin 3 ayrı listeyi tek bir liste içinde farklı değerler olarak yazdırabiliriz. Uygulama yapalım.

3 ayrı listeyi yeniliste adında bir listeye atadık. Sonucumuza bakalım;

Oluşturduğumuz yeniliste’nin 3 elemanı vardır. Bunlara ulaşmak için indekslemeyi kullanalım.

Sonucumuz;

Peki 1.indekste ki 9 sayısına yani 2.indeksine ulaşabilir miyiz?

Elbette ulaşırız. Kullanımı şöyledir;

yeniliste[1][2] ile yapmış olduk. Bu kod soldan sağa okunur ve yeniliste’nin 1.indeksinin 2.indeksi anlamına gelir. Sonucumuz;

Bu yazımın konusu bu kadardı. Listeler konusunu iyice anlamak için bol bol örnek yapın. Yoksa çabuk unutuluyor. Bir sonra ki yazımda görüşmek üzere, iyi çalışmalar.