Ders 3

Üçüncü Dersimize Hoş Geldiniz,

 

Bu bölümde Python değişkenlerine devam edeceğiz. Bu derse kadar sayı ve cümle değişkenlerini gördünüz. Bu dersimizde ise liste ve tüp (demet) değişkenlerini işleyeceğiz.

Listeler

Listeler çok sayıda cümle ve/veya sayı sabitini belirli bir sırada barındıran değişkenlerden ya da sabitlerden oluşur.

 

Listeler için bilinmesi gereken en önemli nokta listelerin köşeli parantez [] karakterleri ile oluşturulmasıdır.

 

Şimdi küçük bir liste oluşturalım. Listemizin adı liste1, değerleri de sırası ile “mavi”, “kırmızı”, “sarı” ve “yeşil” olsun.

Görüldüğü gibi ilk listemizi oluşturmuş olduk.

 

Liste tanımına tekrar dönecek olursak bir listenin belirli bir sırada öğeler içeren nesnelerden oluştuğunu belirtmiştik. Bir listedeki elemanların sıralarına ise indeks’ler yardımı ile ulaşıyoruz. Örneğin liste1 adlı listemizin birinci sırasındaki elemanın ne olduğunu öğrenelim.

İlginç!

 

Birinci sıradaki elemanımızın “mavi” olması gerekiyordu. Peki Python neden “kırmızı” yazdı?

 

Unutulmaması gereken en önemli nokta indeks’lemenin sıfırdan başlamasıdır. Bu örneğimizde “mavi” sıfırıncı eleman ve “kırmızı” ise birinci elemandır.

 

Yukarıdaki örnekten de öğrendiğiniz gibi indeks’lemenin genel kalıbı şudur:

 

liste_adı[indeks_sayısı]

 

Şimdi örneğimize tekrar dönelim ve gerçekte birinci sırada olan fakat Python’da sıfırıncı sırada olan elemanımızı indeks’leyelim.

İndeks’lemenin farklı şekilleri vardır. Şimdi aşağıdaki örnekleri inceleyelim.

Listelere Ekleme Yapmak

Listelere ekleme yapmanın iki yolu vardır. İlki

 

liste_adı = liste_adı + [“yeni_liste_elemanı”]

 

kalıbını kullanmaktır. İkincisini ise birazdan beraber öğreneceğiz.

 

Şimdi liste1’e “turuncu” adlı yeni bir eleman ekleyelim.

Bir sonraki konumuza geçmeden oluşturmuş olduğumuz liste1 adlı listenin sınıfını sorgulayalım.

Görüldüğü üzere yeni değişkenimizin sınıfı list yani liste olarak belirlendi. Python değişkenlerinin her biri farklı birer sınıfa aittir.

append() fonksiyonu

append Türkçe'de “ekleme” anlamına gelmektedir. Listelere yeni eleman ya da elemanlar eklemek için kullanılan bir komuttur. Listeye yeni elemanı eklemek için aşağıdaki kalıbı kullanacağız.

 

Liste_adı.append(“yeni_liste_elemanı”)

 

Şimdi liste1’e “240” sayısını ekleyelim.

Görüldüğü gibi listemize “240” sayısı eklendi.

 

Bu ve bundan sonra kullanacağımız fonksiyonları listelemek istersek aşağıdaki komutu yazmamız yeterlidir.

Mavi alanda yazılmış olanlar birazdan öğreneceğimiz fonksiyonları oluşturmaktadır. __ ile yazılmış ifadeleri daha sonra öğreneceğiz. Ayrıca belirmeliyim ki fonksiyon kelimesine çok fazla takılmayın. Şimdilik fonksiyon kalıbının şu şekilde olduğunu bilin yeter:

 

fonksiyon_adı()

count() fonksiyonu

count Türkçe’de “saymak”, bilgisayar dilinde ise “yinelenme sayısı” anlamlarına gelmektedir. count() fonksiyonu bir listedeki elemanın kaç kez tekrarlandığını öğrenmek için kullanılır.

 

Şimdi liste1’e “mavi” adlı bir eleman daha ekleyelim ve “kırmızı” ile “mavi” elemanlarının kaç kez tekrarlandıklarını sorgulayalım.

Görüldüğü gibi “kırmızı” elemanımız bir, “mavi” elemanımız ise iki kere liste içerisinde tekrarlanıyor.

extend() fonksiyonu

extend Türkçe’de “genişletmek” anlamına gelmektedir. Var olan listeye yeni bir liste eklemek için kullanılan bir fonksiyondur.

 

Şimdi elemanları “mor” ve “turkuaz” olan liste2 adında yeni bir liste oluşturalım ve yeni listemizi liste1’e ekleyelim.

Bu işlemi ilk öğrendiğimiz ekleme yöntemi liste_adı = liste_adı + [“yeni_liste_elemanı”] ile de yapabiliriz. Buna rağmen extend() fonksiyonu çok sayıda eleman içeren listelerin eklenmesinde daha kullanışlı olmaktadır.

index() fonksiyonu

index Türkçe’de “dizinlemek” anlamına gelmektedir. İstenilen bir elemanın konumunu (dizinini) göstermek için kullanılır.

 

Şimdi “mor” adlı elemanın konumunu öğrenelim.

Görüldüğü gibi “mor” elemanı yedinci sırada bulunuyor. Peki listede aynı isimde iki eleman varsa ne olacaktır? Python aynı isimde birden fazla elemanın olduğu listelerde dizinlemeyi ilk elemanın konumuna göre yapar. Şimdi “mavi” elemanının konumunu öğrenelim.

Görüldüğü gibi “mavi” elemanı sıfırıncı konumda bulunmaktadır.

insert() fonksiyonu

insert Türkçe’de “arasına eklemek” anlamına gelmektedir. Bir listenin istenilen bir konumuna ekleme yapmak için kullanılır.

 

Örneğin; “fuşya” adlı elemanı üçüncü eleman olarak ekleyelim. Doğal olarak “fuşya” elemanımız “sarı” ve “yeşil” elemanlarının arasına yerleşecektir.

“fuşya” elemanımızı üçüncü sıraya yerleştirmiş olduk.

pop() fonksiyonu

pop Türkçe’de teknik olarak “kümeden çıkartmak” anlamına gelmektedir. Listedeki son elemanı çıkartmak için kullanılan bir fonksiyondur.

 

Örneğin; liste1’in son elemanını listemizden çıkartalım.

pop() fonksiyonu aynı zamanda listede herhangi bir sırada bulunan elemanı çıkartmak için de kullanılabilir.

 

Şimdi üçüncü sıradaki “fuşya” elemanını listeden çıkartalım.

pop() fonksiyonunu liste_adı.pop(-1), liste_adı.pop(-2) gibi komutlar ile de kullanabilirsiniz.

remove() fonksiyonu

remove Türkçe’de “çıkartmak” anlamına gelmektedir. Herhangi bir elemanı listeden çıkartmak için kullanılır.

 

Örnek olarak “mor” elemanını liste1’den çıkartalım.

Eğer “mavi” elemanını listeden çıkartmak isteseydik Python ilk “mavi” elemanını listeden çıkartacaktı.

reverse() fonksiyonu

reverse Türkçe’de “tersine çevirmek” anlamına gelmektedir. Bir listenin elemanlarını sondan başa doğru sıralamak için reverse() fonksiyonu kullanılır.

Şimdi liste1’in elemanlarını sondan başa doğru sıralayalım.

Listemizi tersine çevirdik.

sort() fonksiyonu

sort Türkçe’de “sıralamak” anlamına gelmektedir. Liste içindeki elemanları önce nümerik daha sonra alfabetik olarak sıralar.

 

Örnek olarak liste1 elemanlarını sıralayalım.

Hatasını alacağız çünkü 240 elemanını liste elemanı olarak belirtmedik. Python’un 2inci sürümünü kullanıyor olsaydınız böyle bir hata ile karşılaşmayacaktınız. 3üncü sürüm ile gelen bu yenilikte liste içindeki tüm elemanların tırnak “” işareti ile belirlenmesi zorunlu duruma getirilmiş. Şimdi 240 elemanını listemizden çıkartalım ve yerine “240” adlı yeni bir eleman yerleştirelim. Daha sonra da listemizi sıralayalım.

Görüldüğü gibi liste1’i nümerik ve alfabetik olarak sıraladık.

len() fonksiyonu

dir(liste1) adlı dizinde olmamasına rağmen len() fonksiyonu liste uzunluklarını ölçmede kullanılır. İngilizce’deki lenght kelimesinin kısaltılmış halidir. Türkçe’de “uzunluk” anlamına gelmektedir.

 

Şimdi liste1’in kaç adet elemandan oluştuğunu öğrenelim.

Görüldüğü gibi listemiz yedi elemandan oluşmaktadır.

 

len() fonksiyonunun dizinde olmamasının nedenini öğrendiğimiz diğer fonksiyon kullanımlarına olan farklılığından kaynaklandığını çıkarsayabilirsiniz.

 

Son olarak belirtmeliyiz ki bir listeyi herhangi bir sayı ile çarpabilirsiniz. Bu durumda listedeki elemanlar çarpıma göre artacaklardır. Örneğin liste1’i üç ile çarpalım ve sonucu görelim.

Sonuç olarak iki kat daha uzun bir liste elde etmiş olduk.

Tüpler (Demetler)

Tüpler (demetler) de listeler gibidir. Listelerden farklı içeriğinin değiştirilemeyecek olmasıdır.

 

Tüpler için bilinmesi gereken en önemli nokta tüplerin parantez () karakterleri ile oluşturulmasıdır.

 

Şimdi içeriği “eksisözluk”, “yansiklopedi” ve “uludağsözlük”, adı ise laylaylom olan üç nesneli bir tüp hazırlayalım.

Görüldüğü gibi ilk tüpümüzü hazırladık. Şimdi bu yeni tüpümüzün sınıfını sorgulayalım.

Sınıfı tuple yani tüp.

 

Şimdi de laylaylom2 adında, içeriği “penguen”, “uykusuz” ile “koala” olan üç elemanlı bir değişken oluşturalım ve sınıfını sorgulayalım.

İlginç!

 

Cümle değişkeni oluşturmak istememize rağmen Python yeni değişkenimizin sınıfını tüp olarak atadı. Bunun sebebi parantez içine alınmasalar dahi birden fazla elemana sahip her yeni değişkenin Python’da tüp değişkeni olarak algılanmasıdır. Tek elemanlı değişkenler ise eleman niteliğine bağlı olarak sınıf değerlerini alacaklardır.

 

Aşağıdaki değişkenleri incelediğimizde konu daha da netleşecektir.

>>> deneme1 adlı tek elemanlı bir değişken oluşturduk ve sınıfını sorguladık.

Sınıfı karakter dizisi

>>> deneme2 adlı üç elemanlı bir değişken oluşturduk ve sınıfını sorguladık.

Sınıfı tüp

>>> deneme3 adlı tek elemanlı bir değişken oluşturduk ve sınıfını sorguladık.

Sınıfı karakter dizi

>>> deneme4 adlı tek elemanlı bir değişken oluşturduk ve sınıfını sorguladık.

Sınıfı tamsayı

 

Tüpler için kullanabileceğimiz fonksiyonlara gelince… İsterseniz ilk örneğe dönelim ve dir() fonksiyonu ile kullanabileceğimiz fonksiyonları görelim.

Görüldüğü gibi count() ve index() fonksiyonlarını tüpler için kullanabiliriz.

 

Şimdi aşağıdaki iki örneği inceleyelim.

count() fonksiyonu ile laylaylom değişkenindeki “ekşisözlük” elemanının kaç kez tekrarlandığını sorguladık. index() fonksiyonu ile ise laylaylom değişkenindeki “yansiklopedi” elemanının konumunu sorguladık.

 

Tüpler farklı şekillerde de kullanılabilir. Örneğin; anahtar elemanları elma, serçe ve kelebek; değer elemanları ise sırasıyla “bir meyvedir.”, “bir kuştur.” ve “bir böcüktür.” olan yeni bir tüp değişkeni oluşturalım.

Bu derslik bu kadar yeter sanırım. En ağır dersiniz bu olmuş olmalı. Bir sonraki dersimizde sözlük ve dosya değişkenlerini inceleyeceğiz. Dördüncü derse geçmeden önce ödevinizi yapmanızı tavsiye ederim.

ödev
ders
video