# Python Listeler

Python listeler (lists) konusunu işliyoruz.

Python koleksiyonlar (diziler) altında yer alan liste (list) veri tipimiz sıralanabilen , değiştirilebilen , indekslenebilen ve çoğul elemana izin veren bir veri tipidir. Köşeli parantezlerle [ ] oluşturulur.

liste = []

Köşeli parantezlere oluşturulan listeler, en başta elemanlarla birlikte de oluşturulabilirler.

liste = ["Ankara","İstanbul","Kayseri"]

Aynı zamanda bir liste list() fonksiyonu ile de oluşturulabilir ve constructor yöntemiyle başlangıçta elemanları ayarlanabilir.

liste = list()

liste = list(("Ankara","İstanbul","Kayseri"))

Oluşturduğumuz liste değişkenlerinin tipini kontrol edelim.

print(type(liste)) # <class 'list'>

1. Liste Elemanlarına Erişim

Python programlama dilinde elinizdeki bir listenin elemanlarına ulaşabilmek için indeksleri kullanmalısınız. Aşağıdaki örnekle indeksleri nasıl kullanacağınızı gösterelim.

liste = ["Sal","Vapur","Feribot","Korvet","Fırkateyn"]

print(liste[0])    # Sal
print(liste[1])    # Vapur
print(liste[2])    # Feribot
print(liste[3])    # Korvet
print(liste[4])    # Fırkateyn

İndeks her zaman 0 dan başlar. Yani bir listede ilk elemanın indeksi 0 dır.

2. Negatif İndeksleme

Negatif indeks kullanarak bir listeyi tersten başlayarak ele alabilirsiniz. Örnek üzerinde görelim hemen.

liste = ["Sal","Vapur","Feribot","Korvet","Fırkateyn"]

print(liste[-1])    # Fırkateyn
print(liste[-2])    # Korvet
print(liste[-3])    # Feribot
print(liste[-4])    # Vapur
print(liste[-5])    # Sal

Negatif indeks normal indeksin aksine -1 den başlar. Yani bir listede son elemanın indeksi -1 dir.

3. Bir Listeden Yeni Liste Oluşturma (İndeks)

Elimizde mevcut olan bir listeden indeks belirterek yeni bir liste oluşturabiliriz. Örneğin mevcut listenin 2.indeksinden 5.indeksine kadar ( 5 dahil değil ) olan elemanlarla yeni bir liste oluşturalım.

liste = ["a","b","c","d","e","f","g"]

yeniliste = liste[2:5]

print(yeniliste)    #["c","d","e"]

Bu şekilde yeni liste oluştururken [x:y] ifadesinde x dahil, y dahil değildir. Ayrıca indeksin 0 dan başladığını unutmayınız!

4. Bir Listeden Yeni Liste Oluşturma (Negatif İndeks)

Elimizdeki listeden yeni bir liste oluştururken negatif indeksleri de kullanabiliriz.

liste = ["a","b","c","d","e","f","g"]

yeniliste = liste[-3:-1]

print(yeniliste)    #["e","f"]

Bu şekilde yeni liste oluştururken [-x:-y] ifadesinde -x dahil, -y dahil değildir. Ayrıca negatif indeksin -1 den başladığını unutmayınız!

5. Liste Elemanlarını Sıralayarak Ekrana Yazdırma

Yeri geldiğinde liste elemanlarınızı ekrana sırasıyla yazdırmak, elemanlar üzerinde sırasıyla işlem yapmak isteyebilirsiniz. Bunun için for döngümüzü kullanacağız.

liste = ["a","b","c","d"]

for x in liste:
    print(x)

Bu şekilde listenin tüm elemanları x değeri üzerinden otomatik olarak listelenecek ve dizi elemanı bittiğinde döngü duracaktır.

6. Liste Eleman Sayısını Öğrenme

Elinizde olan bir listenin eleman sayısını öğrenmek için len() fonksiyonunu kullanacağız.

liste = ["a","b","c","d"]

print(len(liste))    #4

Eğer özellikle bir elemanın listede kaç adet bulunduğunu öğrenmek isterseniz de count() fonksiyonunu kullanmanız gerekiyor.

liste = ["a","b","c","c","d","c"]

sayac = liste.count("c")

print(sayac)    #3

7. Liste Elemanının Değerini Değiştirme

Listeler ile çalışırken listede mevcut olan bir elemanın değerini rahatlıkla değiştirebilirsiniz. Bunun için elemanın indeks değerini bilmeniz yeterlidir.

meyveler = ["kivi","çilek","muz","pırasa"]

meyveler[3] = "armut"

print(meyveler)    # ["kivi","çilek","muz","armut"]

8. Listeye Yeni Eleman Ekleme

Listeler ile çalışırken listenin sonuna rahatlıkla yeni bir eleman ekleyebilirsiniz. Bunun için append() fonksiyonunu kullanacağız.

meyveler = ["kivi","çilek"]

meyveler.append("muz")

print(meyveler)    # ["kivi","çilek","muz"]

Eğer listenin sonuna değilde belirlediğiniz indeks numarasına eleman eklemek istiyorsanız insert() fonksiyonunu kullanmalısınız.

meyveler = ["kivi","çilek"]

meyveler.insert(1,"muz")

print(meyveler)    # ["kivi","muz","çilek"]

9. Listeden Bir Eleman Çıkarma

Listenizden bir eleman çıkarmak istiyorsanız bunun dört yöntemi vardır. İlki listenin en sonundaki elemanı listeden atmaktır ve bunun için pop() fonksiyonunu kullanmalısınız.

meyveler = ["kivi","çilek","muz","armut"]

meyveler.pop()

print(meyveler)    # ["kivi","çilek","muz"]

İkinci yöntem çıkarmak istediğiniz elemanı belirterek remove() fonksiyonunu kullanmaktır.

meyveler = ["kivi","çilek","muz","armut"]

meyveler.remove("çilek")

print(meyveler) # ["kivi","muz","armut"]

Üçüncü yöntem çıkarmak istediğiniz elemanın indeksini belirterek del terimini kullanmaktır.

meyveler = ["kivi","çilek","muz","armut"]

del meyveler[0]

print(meyveler) # ["çilek","muz","armut"]

Son ve en sert yöntemde tüm listeyi temizlemektir. Listedeki tüm elemanları çıkarıp boş bir liste elde etmek için clear() fonksiyonunu kullanabilirsiniz.

meyveler = ["kivi","çilek","muz","armut"]

meyveler.clear()

print(meyveler) # []

10. Liste Kopyalamak ve Çoğaltmak

Elimizde olan bir listeyi kopyalayarak çoğaltmak istiyorsak copy() fonksiyonunu kullanabiliriz.

liste = ["a","b","c","d"]

yeniliste = liste.copy()

print(yeniliste) # ["a","b","c","d"]

Liste kopyalama için kullanılan diğer bir yöntem de yeni bir liste oluşturulurken kopyalanacak listeyi belirtmektir.

liste = ["a","b","c","d"]

yeniliste = list(liste)

print(yeniliste) # ["a","b","c","d"]

11. İki Farklı Listeyi Birleştirmek

Birbirinden farklı veya aynı iki listeyi birleştirmek için + operatörünü kullanabiliriz.

liste1 = ["A","B","C"] liste2 = ["D","E"]

liste3 = liste1 + liste2

print(liste3) # ["A","B","C","D","E"]

Şimdi ise sırf bu liste birleştirme işlemi için oluşturulmuş extend() fonksiyonunu kullanalım.

liste1 = ["A","B","C"] liste2 = ["D","E"]

liste1.extend(liste2)

print(liste1) # ["A","B","C","D","E"]

Kolay yöntemleri öğrendikten sonra şimdi de biraz daha uzun yöntemini görelim.

liste1 = ["A","B","C"] liste2 = ["D","E"]

for x in liste2: liste1.append(x)

print(liste1) # ["A","B","C","D","E"]

12. Liste Elemanlarını Sıralamak

Liste elemanlarınızı küçükten büyüğe veya büyükten küçüğe sıralamak istediğiniz zaman sort() fonksiyonunu kullanabilirsiniz.

liste = [14,36,2,95,43,0,66]

liste.sort()

print(liste) # [0, 2, 14, 36, 43, 66, 95]

Tam tersi yani büyükten küçüğe sıralamak için reverse=True terimini kullanmalısınız.

liste = [14,36,2,95,43,0,66]

liste.sort(reverse=True)

print(liste) # [95, 66, 43, 36, 14, 2, 0]

13. Bir Elemanın İndeksini Bulmak

Elimizdeki listeden bir elemanının listedeki indeksini bulmak için index() fonksiyonunu kullanabilirsiniz.

liste = [14,36,2,95,43,0,66]

print(liste.index(95)) # 3

14. Bir Elemanın Varlığını Kontrol Etme

Listede bir elemanın var olup olmadığını kontrol etmek için in terimini kullanabiliriz.

liste = ["A","B","C","D","E"]

if "C" in liste: 
    print("Evet var!") 
else: 
    print("Hayır yok!")
    
# Evet var!

Last updated