Listeler Genellikle aynı özellikteki nitelikleri sıralamaya yarayan ve tekrardan ulaşmamıza yardımcı olan kalıplarlardır. İlk örneğimizde NBA basketbol takım kadrosu oluşturalım ve bu kadro üzerinde ironpython kodlarını deneyerek ne işe yardığını görelim.
>>> kadro=['Bryant','McGrady','Howard','Hidayet']
#kadroyu ilk önce tanımladık, 4 elemanlı bi dizi olarak
>>> kadro #burada kadrodaki elemanları görmek istedik
['Bryant', 'McGrady', 'Howard', 'Hidayet']
Aynı şekilde ekrana yazdırmak için de print komutunu kullanabiliriz.
>>> print kadro
['Bryant', 'McGrady', 'Howard', 'Hidayet']
İndex’ler listedeki elemanların sıra numarasıdır. Bu numaralar sayesinde tanımlanır ve bir işlev için çağrılması daha da kolaylaşır. Fakat dikkat edilmesi gereken en önemli nokta ilk index her zaman 0’dır örneğin; Dizinin ilk elemanı olan Bryant’ın index’i ‘0’dır. 2. Eleman olan McGrady’nin index’i ise 1dir.
>>> kadro[0] #Listede ilk sırada yer alan eleman gelecektir.
'Bryant'
>>> kadro=kadro + ['Memo'] #Şimdide kadroya oyuncu ekleyelim
>>> kadro
['Bryant', 'McGrady', 'Howard', 'Hidayet', 'Memo']
Ekleme işlemini bu şekilde yapabildiğimiz gibi append() komutunu da kullanarak yapabilir. Bu uygulamayı ileride göreceğiz.
Listede Belli Aralıkları Seçmek
Listedeki istediğimiz ilk konum ile son konuma kadar tüm elemanları çağırmanıza yardımcı olur.
>>> kadro[1:3]
# [1:3]’ün anlamı dizinin 2. Elemanı ile 3. Elemanını çağırır.
['McGrady', 'Howard']
kadro[:3] #[:3]’ün anlamı ise 5. Elemandan önceki elemanları çağır anlamındadır.
['Bryant', 'McGrady', 'Howard']
>>> dir(kadro)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__',
'__delslice__', '__doc__', '__eq__', '__ge__', '__getattribute__',
'__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__',
'__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__',
'__new__', '__reduce__', '__reduce_ex__','__repr__', '__reversed__',
'__rmul__', '__setattr__', '__setitem__', '__setslice__', '__str__', 'append',
'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
Yukarıdaki tüm komutlar dizilerde kullanılabilir, gelin hepbirlikte dizilerde en çok kullanacağımız komutları birlikte inceleyelim.
Dizilere ait komutları sırasıyla ne işe yaradıklarını inceleyelim.
append() komutu
Python dilinde en temel olay Nesne.metot şeklindeki kalıptır. Python nesne tabanlı bir dil olduğu için yazdığımız her şey bir nesnedir ve nesnelerinde metotları vardır. Şimdide örnek kullanımını görelim. Append metoduna gelince, diziye eleman ekleme kısmında bahsettiğimiz gibi, diziye sonundan eleman ekler.
>>> kadro.append('Jermaine')
>>> kadro
['Bryant', 'McGrady', 'Howard', 'Hidayet', 'Memo', 'Jermaine']
-count() komutu
count komutu aranan elemanı listede varsa kaçtane olduğunu gösterir. Eğer yoksa 0 değerini gönderir.
>>> kadro.count('Bryant')
1
>>> kadro.count('Shaq')
0
#kadroda arattığımız eleman yoksa 0 sonucu döner.
-extend() komutu
Diziye eleman eklemek için kullanılır. Eleman dizinin sonuna eklenir.
>>> kadro.extend(['Lebron'])
>>> kadro
['Bryant', 'McGrady', 'Howard', 'Hidayet', 'Memo', 'Jermaine', 'Lebron']
kadro=kadro+ [‘…’] işleminin aynısını görür.
-index() komutu
Elemanın listedeki indexini belirler.
>>> kadro.index('Lebron')
6
>>> kadro.index('McGrady')
1
-insert()komutu
Belirtilen elemanı belirtilen indexe ekler ve sonraki elemanların indexi bir artar.
>>> kadro.insert(0,'Carmelo')
>>> print kadro
['Carmelo', 'Bryant', 'McGrady', 'Howard', 'Hidayet', 'Memo', 'Jermaine', 'Lebron']
-pop()komutu
Listeden son elemanı çıkarır.
>>> kadro.pop()
'Lebron'
>>> kadro
['Carmelo', 'Bryant', 'McGrady', 'Howard', 'Hidayet', 'Memo', 'Jermaine']
-remove()komutu
Eğer çıkarılacak eleman Listede birden fazla ise ilk eleman çıkarılır.
>>> kadro.remove('Memo')
>>> kadro
['Carmelo', 'Bryant', 'McGrady', 'Howard', 'Hidayet', 'Jermaine']
-reverse()komutu
Bu komut dizideki elemanların sırasını tersine çevirir.
>>> kadro
['Carmelo', 'Bryant', 'McGrady', 'Howard', 'Hidayet', 'Jermaine']
>>> kadro.reverse()
>>> kadro
['Jermaine', 'Hidayet', 'Howard', 'McGrady', 'Bryant', 'Carmelo']
-sort()komutu
Dizinin elemanlarını numeritik ve alfebetik olarak sıralar
>>> kadro
['Jermaine', 'Hidayet', 'Howard', 'McGrady', 'Bryant', 'Carmelo']
>>> kadro.sort()
>>> kadro
['Bryant', 'Carmelo', 'Hidayet', 'Howard', 'Jermaine', 'McGrady']
-len()komutu
Dizinin uzunluğunu, eleman sayısını verir.
>>> len(kadro)
6
Ayrıca bu komutlar haricinde listeyi bir tamsayı ile çarpabiliriz.
>>> fener=[3,'Carlos']
>>> fener*2
[3, 'Carlos', 3, 'Carlos']
Tüm anlatılanların uygulaması:
Hepinize Kolay gelsin. Sorularınızı ve takıldığınız yerleri
ik@ibrahimkivanc.com mail adresime iletebilirsiniz.
Makalenin PDF Hali için >
19 - IronPyton Listeler