Merhaba arkadaşlar,
Bugün ki konumuz listeler. Listeler son derece kullanışlı bir veri tipidir ve çoğu işlerimizi onlarla halledebiliriz. Listeleri karakter dizilerinden ve sayılardan ayıran en önemli özelliği aynı anda bütün veri tiplerini bir arada tutabilmesidir. Yani bir listenin içinde sayı, karakter dizisi, tuple, sözlük veya binary veri tipinde veriler bulunabilir. Kullanımı oldukça basit olup her bir alt verisine karakter dizilerinde öğrendiğimiz index’leme ile erişebiliriz.
Önce etkileşimli kabuğu açalım ve yazalım.
>>> []
[]
Bu bir listedir. type([]) yazmanız yeterli.
>>> type([])
<class 'list'>
Listelerin farklı veri tiplerini barındırabileceğini söylemiştik. Bu nasıl oluyor bir bakalım.
>>> değişken = ["donanimplus", 113, "programlama", "Python", 59, ["merhaba", "listeler", 37]]
Şimdi listede bulunan her bir veriye erişelim.
>>> değişken[0]
'donanimplus'
>>> değişken[1]
113
>>> değişken[2]
'programlama'
>>> değişken[3]
'Python'
>>> değişken[4]
59
>>> değişken[5]
['merhaba', 'listeler', 37]
>>> değişken[6]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
Gördüğünüz gibi sonuncusu hata verdi. Sebebi len(değişken) yazarak anlaşılabilir. Değişken verisinin 6 adet alt verisi var bunlar;
“donanimplus”,
113
“programlama”
“Python”
59
[“merhaba”, “listeler”, 37]
Dolayısıyla erişebileceğimiz en yüksek index sayısı 5’tir.
Peki “donanimplus” karakter dizisinin ilk elemanına nasıl erişeceğiz.
>>> değişken[0][0]
'd'
Köşeli parantezler içinde kullandığımız ilk 0 değeri bize değişken verisinin ilk elemanı olan “donanimplus” dizisine ulaşmamızı sağlar. Diğer 0 ise “donanimplus”ın ilk karakterine erişebilmemizi sağlar.
Aynı işlemleri liste içerisinde bulunan listelerde hatta onların içerisinde bulunan listelerde kullanabiliriz. Anlayacağınız veriniz ne kadar çok alt veri barındırırsa barındırsın hepsine köşeli parantezlerle erişebiliriz.
>>> değişken[5]
['merhaba', 'listeler', 37]
>>> değişken[5][0]
'merhaba'
>>> değişken[5][1]
'listeler'
>>> değişken[5][2]
37
Listelerin genel kullanımı bu şekilde. Şimdi metotlarına bakalım.
Python’da Liste Metotları
Metotları görebilmek için karakter dizisi metotları yazısında da kullandığımız dir() fonksiyonunu kullanacağız.
>>> dir([])
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
Burada da _ ile başlayanlar bizleri ilgilendirmeyen metotlar. Şuan için _ ile başlamayanlara odaklanalım ve teker teker açıklamaya çalışalım.
Append metodu
Append metodu bir listeye istenen veriyi listenin sonuna ekler. Örnek verelim;
>>> değişken.append("merhaba")
>>> değişken
['donanimplus', 113, 'programlama', 'Python', 59, ['merhaba', 'listeler', 37], 'merhaba']
Görülebileceği üzere append metodunun kullanımı çok basittir ve tek parametre alır. Aynı anda iki veri ekleyemezsiniz.
Clear Metodu
Clear metodu listenin içerisini boşaltmaya yarar. Yani liste içerğgini siler. Parametre almaz.
>>> liste = [1, 2, 3, "merhaba"]
>>> liste
[1, 2, 3, 'merhaba']
>>> liste.clear()
>>> liste
[]
Copy Metodu
Copy metodunun yaptığı iş sadece listemizi kopyalamaktır. Ancak son derece önemli bir metoddur. Kopyalama işlemini copy metodunu kullanmadan gerçekleştirebiliriz.
>>> liste1 = [1, 2, 3, "merhaba"]
>>> liste2 = liste1
>>> liste2
[1, 2, 3, 'merhaba']
>>> liste2.append("Python")
>>> liste1
[1, 2, 3, 'merhaba', 'Python']
>>> liste2
[1, 2, 3, 'merhaba', 'Python']
Copy metodunu kullanmadan aynı listeden bir adet daha yapmış olduk. Dikkat edilirse kopyamızda yapılan herhangi bir değişiklik asıl listemizi de etkiliyor. Kopyalanmış listede yapılan değişikliğin ana listeyi etkilememesi isteniyorsa copy metoduna başvurulur.
>>> liste1 = [1, 2, 3, "merhaba"]
>>> liste2 = liste1.copy()
>>> liste2
[1, 2, 3, 'merhaba']
>>> liste2.append("Python")
>>> liste1
[1, 2, 3, 'merhaba']
>>> liste2
[1, 2, 3, 'merhaba', 'Python']
Count Metodu
Count metodu, liste içerisinde -count metoduna- parametre olarak verilen veriden kaç tane olduğunu döndürür.
>>> liste1.count(2)
1
>>> liste1.count("merhaba")
1
Extend Metodu
Bu metod herhangi bir değer döndürmez ancak parametre olarak gönderilen listeyi mevcut listeye ekler.
>>> liste1
[1, 2, 3, 'merhaba']
>>> liste2
[1, 2, 3, 'merhaba', 'Python']
>>> liste1.extend(liste2)
>>> liste1
[1, 2, 3, 'merhaba', 1, 2, 3, 'merhaba', 'Python']
İndex Metodu
İndex metodu liste içerisinde bulunan verinin index’ini döndürür.
>>> liste = ["1234", 5, "python"]
>>> liste.index("python")
2
İnsert metodu
Belirtilen index’e parametre olarak verilen veriyi ekler.
>>> liste
['1234', 5, 'python']
>>> liste.insert(2, "programlama")
>>> liste
['1234', 5, 'programlama', 'python']
Pop metodu
Belli bir konumdaki elemanın değerini verir ve listeden siler. Parametre almazsa, son elemanı siler.
>>> liste
['1234', 5, 'programlama', 'python']
>>> liste.pop()
'python'
>>> liste.pop(2)
'programlama'
>>> liste
['1234', 5]
Remove metodu
Listeden veri çıkarmaya yarar. Yani liste içerisinde bulunan -parametre olarak verilen- veriyi siler.
>>> liste2
['ali', 'ayşe', 'hilal', 'mehmet']
>>> liste2.remove("mehmet")
>>> liste2
['ali', 'ayşe', 'hilal']
Reverse metodu
Listeyi tersine çevirir. Parametre almaz.
>>> liste = [1, 2, 3, "donanimplus", "python"]
>>> liste
[1, 2, 3, 'donanimplus', 'python']
>>> liste.reverse()
>>> liste
['python', 'donanimplus', 3, 2, 1]
Sort metodu
Liste içerisindeki verileri alfabetik veya numerik sıraya göre dizer. Ancak mu metodu kullanabilmek için liste içerisindeki bütün verilerin aynı tipte olması gerekir yani ya hepsi karakter dizisi olmalı ya da hepsi sayı olmalı.
>>> liste1 = [5, 6, 2, 5, 9, 8, 7]
>>> liste1.sort()
>>> liste1
[2, 5, 5, 6, 7, 8, 9]
>>> liste2 = ["ali", "mehmet", "hilal", "ayşe"]
>>> liste2.sort()
>>> liste2
['ali', 'ayşe', 'hilal', 'mehmet']
Bu ders uygulama yapmayacağız. Diğer ders for ve while söz dizimini öğreneceğiz.
Yorum Yap