7 Mayıs 2013 Salı

Listeler

Listeler, içerisinde farklı türden verileri barındırabilen taşıyıcılardır. Python'ı güçlü kılan özelliklerden biri
olan listelerde, her bir eleman bir indis (index) numarasına sahiptir ve bir listenin başlangıç indisi 0 (sıfır)'dır.

Şimdi bir listeyi nasıl oluşturabileceğimizi inceleyelim:

liste = []

Her veri yapısının tanımında olduğu gibi listelerin tanımında da önce bir değişken adı verip, daha sonra bu
değişkene çeşitli atamalar yaparak listemizi oluşturmuş olduk. Yukarıdaki örnekte oluşturduğumuz liste içerisine eleman eklemediğimiz için bu liste içi boş bir listedir. Şimdi ise başlangıçta elemanları belli olan bir liste tanımlayalım:

liste1 = ['p','y','t','h','o','n']


Yukarıda oluşturduğumuz liste 'python' kelimesinin harflerini içerisinde barındırıyor. Şimdi ise hem string (metin), hem de sayı türünden veriler barındıran bir liste oluşturalım:

liste2 = ['okan','vurdu',1905]

Yukarıdaki örneklerle Python'da bir listenin nasıl tanımlandığını öğrenmiş olduk. Şimdi ise bir listenin herhangi bir elemanına nasıl erişilir onu inceleyelim:

cumle = ['hayat','python','ile','guzel']
print "Listenin 2. elemanı:", cumle[1]

Çıktı:
Listenin 2. elemanı: python


Gördüğümüz gibi print metodu yardımıyla "cumle" isimli listemizin 2. elemanını (yani 1. indisteki eleman) ekrana yazdırmış olduk. Şimdi gelin, tanımlamış olduğumuz bir listeye ait eleman sayısını nasıl öğrenebiliriz onu irdeleyelim:

liste3 = [1,2,3,4,5,6,7,8,9]
len(liste3)

Çıktı:
9

Gördüğümüz gibi len methodu, içerisine parametre olarak yazdığımız listenin eleman sayısını bize geri döndürmüş oldu. Şimdi ise listenin elemanlarına tek tek erişmek yerine belirli indis numaraları arasındaki elemanlarına nasıl erişilir konusuna bir gözatalım:

cumle = ['hayat','python','ile','guzel']
print cumle[1:3]

Yukarıdaki kod bloğunu çalıştırdığımızda karşımıza şöyle bir çıktı gelecektir:

['python','ile']

Başlangıç indisinden bitiş indisine kadar (bitiş indisi dahil değil) olan elemanları ekrana yazdırmış olduk. Burada : sol tarafındaki değer başlangıç indisini, sağ tarafındaki değer bitiş indisini ifade ediyor. Eğer başlangıç indisini belirtmezseniz Python yazdığınız kodu yorumlarken başlangıç indisini 0 kabul eder.
Yine benzer bir durum olarak bitiş indisini belirtmezseniz, Python kodunuzu yorumlarken bunu listenin son indisi olarak kabul eder. (Son eleman dahil edilir) Bu durumu şöyle örnekleyelim:

cumle = ['hayat','python','ile','guzel']
print cumle[:2]

Çıktı:
['hayat','python']


cumle = ['hayat','python','ile','guzel']
print cumle[1:]

Çıktı:
['python','ile','guzel']

Ekrana elemanları belirli aralıklarla yazdırmak isteyebilirsiniz. Python geliştiricileri bu konuyu da atlamamışlar ve artış miktarı özelliğini listeler içerisine dahil etmişler. Gelin anlatmak istediğimizi bir örnekle inceleyelim:

liste4 = ['okan','vurdu','www.okanvurdu.net',1,3,4,'python']
print cumle[1::2]

Çıktı:
['vurdu',1,4]

Gördüğümüz gibi listemizin 1. indisinden başlayıp son indisine kadar olan elemanları ikişer ikişer atlayarak ekrana yazdırdık. Sizde buna benzer örnekleri çoğaltabilirsiniz.

Şimdi ise listelere ait metotlara bir gözatalım:

append() : Listeye eleman eklemeye yarayan metottur.

takimlar = ['Galatasaray','Fenerbahçe','Beşiktaş']

takimlar.append('Trabzonspor')

remove() : Listeden eleman silmeye yarayan metottur. Parametre olarak silinecek elemanın değerini alır.

takimlar = ['Galatasaray','Fenerbahçe','Beşiktaş']
takimlar.remove('Beşiktaş')

del : Yine liste içerisinden bir elemanı silmek için kullanılır. remove() metodundan farkı, parametre olarak silinecek elemanın indis numarasını almasıdır.

takimlar = ['Galatasaray','Fenerbahçe','Beşiktaş']
del takimlar[1]

pop() : Liste içerisinden eleman silmenin başka bir yoludur. İçerisinde parametre olarak sayı değeri gönderdiğinizde belirttiğiniz indisteki elemanı listeden çıkartır ve çıkardığı elemanı ekrana yazar. Eğer herhangi bir parametre göndermezseniz listenin en sonundaki elemanı listeden çıkartır.

takimlar = ['Galatasaray','Fenerbahçe','Beşiktaş']
takimlar.pop(2)

reverse() : Liste elemanlarının sırasını tersine çevirmek için kullanılır.

takimlar = ['Galatasaray','Fenerbahçe','Beşiktaş']
print takimlar
takimlar.reverse()
print takimlar

Çıktı:
['Galatasaray','Fenerbahçe','Beşiktaş']
['Beşiktaş','Fenerbahçe','Galatasaray']


sort() : Liste ögelerini alfabetik olarak sıralamaya yarayan mettottur.

takimlar = ['Galatasaray','Fenerbahçe','Beşiktaş']
takimlar.sort()
print takimlar

Çıktı:
['Beşiktaş','Fenerbahçe','Galatasaray']

index() : Liste içerisinde arama yapmayı sağlayan methottur. Eğer aranılan öge listede mevcutsa, bu ögenin indisini geri döndürür.

takimlar = ['Galatasaray','Fenerbahçe','Beşiktaş']
takimlar.index('Galatasaray')

Çıktı:
0

count() : Yine liste içerisinde arama yapmada kullanılan bir metottur. Geriye aradığımız değerden liste içerisinde kaç adet olduğunu döndürür.

takimlar = ['Galatasaray','Fenerbahçe','Beşiktaş']
takimlar.count('Bursaspor')


Çıktı:
0

Bu yazımızda, Python ile listeleri nasıl kullanabileceğimize dair genel bir fikir sahibi olduk. Çeşitli örnekler türeterek listelerin kullanımı hakkında daha fazla yetkin hale gelebilirsiniz. İyi çalışmalar dileriz...

8 yorum :

  1. Site ve dökümanlarınız çok güzel, elinize sağlık. Python ile ilgili türkçe dökümanlar bulabilmek beni mutlu ediyor.

    YanıtlaSil
  2. CoOk guzel...Cok isime yaradi, Minnetdarim....

    YanıtlaSil
  3. gerçekten çok tesekkürler arkadaşlar böyle güzel ve faydalı bir site yaptığınız içn

    YanıtlaSil
  4. çok güzel dökümanlar

    YanıtlaSil
  5. önceklikle sa ben dj dikkat

    YanıtlaSil
  6. beyler torbacı ne tarafta

    YanıtlaSil
  7. hewal_arabic ALLAHUAKBARR

    YanıtlaSil
  8. arkadaslar ben 2 tane array olusturdum arrayların ıcıne 10 dan 30 a kadar random sayı verdım bu cıkan sayıların ortak olan sayıları ekrana basmasını ıstıyorum nasıl yapabılırım bana yardımcı olabılırmısınız sımdıden tesekkur ederım arkadaslar..

    YanıtlaSil