Kaydol

Giriş Yap

Parolanızı mı unuttunuz

Şifreni mi unuttun? Lütfen e-mail adresinizi giriniz. Bir bağlantı alacaksınız ve e-posta yoluyla yeni bir şifre oluşturacaksınız.

Üzgünüz, gönderi ekleme izniniz yok.

Python’da Liste Kullanımı ve Metotları

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.

İlginizi Çekebilecek Diğer Yazılar

Python'da Yazıyı Sese, Sesi Yazıya Nasıl Dönüştürürüz?

    Merhaba arkadaşlar, bugün yazıları kendi yazdığımız programla nasıl sese dönüştürürüz ve bu işlemin ...

Python'da Mail Nasıl Atılır?

    Merhaba arkadaşlar bugün “Python ile mail nasıl atılır?” sorusunu cevaplayacağız. smtplib modülü sıradan ...

Python'da Bilgisayarlar Arası Veri Alışverişi

    Merhaba arkadaşlar bugün, “Python programlama dili ile veri alışverişi nasıl yapılır?” sorusunu cevaplayacağız. ...

Python'la Kendi Arama Motorunuzu Yapabilirsiniz

    Merhaba arkadaşlar, bugün kendi arama motorumuzu yazacağız. Bu sayede arama motorlarının çalışma mantığını ...

Python'da Sınıf Kullanımı

    Merhaba arkadaşlar, bugün ki konumuz sınıflar. Sınıflar değişkenlere özellik eklemek için kullanılır. Daha iyi ...

Python'da Fonksiyonlar ve Hata Yakalama

Merhaba arkadaşlar, bügün ki konumuz fonksiyonlar ve hata yakalama.     Belli bir kod bloğunu ...

Python'da Döngüler

    Merhaba arkadaşlar,     Programlamada en çok kullandığımız yapılardan birisi de döngülerdir. Döngüler, ...

Python'da İf-Elif-Else Yapısı

Merhaba arkadaşlar, geçen derste karakter dizisi metotlarından birkaçını görmüştük. Bu ders ise if-elif-else yapısını görerek ...

Python'da Karakter Dizisi Metotları

Merhaba arkadaşlar, Bugün işleyeceğimiz konu karakter dizileri ve karakter dizisi metotları. Karakter dizilerini ve metotlarını ...

Python, Bir Başka Dünya

Öncelikle merhaba, Ben Metehan. Programlama ile yaklaşık iki senedir ilgileniyorum ancak Python ile tanışmam 1.5 ...