Python List

Python Programlama Dilinde 4 tür dize (array) bulunur. Bunlar;

  • List, sıralanabilir ve değiştirilebilir dizeler. Bu tarz dizelere aynı üyeler tekrar eklenebilir.
  • Tuple, sıralanabilir ancak değiştirilemez dizelerdir. Aynı üyeler birden fazla eklenebilir.
  • Set sıralanamaz ve aynı üyeleri kabul etmez.
  • Dictionary sıralanamaz ancak değiştirilebilir ve listelenebilir. Aynı üyeler eklenemez.
Bir dize kullanırken dizelerin özelliğini bilmek ve ona göre kullanmak hem zaman kazandırır, hem işimizi kolaylaştırır.

List

Sıralanabilir ve değiştirilebilir veriler topluluğudur. Nesneler köşeli parantezler arasına yazılır.

PYTHON Kodu

thislist = ["elma", "muz", "ayva"]
print(thislist)

Dizedeki Bir Değere Erişmek

Dizedeki bir elemana ulaşmak için sıra numarasını köşeli parantez içinde belirtiriz. İlk elemanın 0 (sıfır) olduğunu unutmayın!

PYTHON Kodu

thislist = ["elma", "muz", "ayva"]
print(thislist[1])
Yukarıdaki kod çalıştırıldığında ekrana "muz" yazılacaktır. Çünkü muz 1. elemandır (0 = elma, 1 = muz, 2 = ayva).

Sondan Sıraya Göre Değer Almak

Negatif Sıra: Python'da köşeli parantez içinde negatif sıra numarası belirtebilirsiniz. Bu şekilde kullanıldığında sondan kaçıncı nesne ise o görüntülenecektir.

PYTHON Kodu

thislist = ["elma", "armut", "kiraz"]
print(thislist[-1])
Yukarıdaki örnek çalıştırıldığında ekranda "kiraz" yazacaktır. Çünkü kiraz -1. (en son) nesnedir. (-2 = armut, -3 = elma).

Aralık Belirtmek

Bir dizenin belli elemanlarını aralık belirterek alabilirsiniz. Alınan aralık yeni bir dize olarak dönecektir.

PYTHON Kodu

thislist = ["elma", "muz", "kiraz", "portakal", "kivi", "karpuz", "mango"]
print(thislist[2:5])
Yukarıdaki örnekte 2. eleman (kiraz), 3. eleman (portakal) ve 4. eleman (kivi) seçilecektir. 5. eleman (karpuz) sonuca dahil edilmez. Yani 2:5 = 3 elemanlı bir dize oluşturur.

Eğer aralık belirtirken ilk sayıyı boş geçersek ilk elemandan belirtilen sayı kadar değeri dize haline dönüştürür.

PYTHON Kodu

liste = ["elma", "muz", "kiraz", "portakal", "kivi", "karpuz", "mango"]
print(liste[:4])
Yukarıdaki kod çalıştırıldığında sonuç olarak 0, 1, 2 ve 3. elemanlar olmak üzere toplam 4 elemanlı bir dize elde etmiş olacağız.

Eğer ikinci parametre boş bırakılırsa bu durumda ilk belirtilen elemandan itibaren dizenin sonuna kadar değerler alınarak bir dize oluşturulur.

PYTHON Kodu

liste = ["elma", "muz", "kiraz", "portakal", "kivi", "karpuz", "mango"]
print(liste[2:])
Yukarıdaki kod çalıştırıldığında 2. eleman yani "kiraz" dan başlamak üzere son eleman mango'ya kadar değerler seçilir ve bir dize oluşturulur.

Negatif sıralar kullanarak bir aralık belirtebiliriz. Örneğin sondan 4. karakterden, sondan 2. karaktere kadar olan değerler seçilecekse, şu tarz bir kod işimizi görecektir:

PYTHON Kodu

liste = ["elma", "muz", "kiraz", "portakal", "kivi", "karpuz", "mango"]
print(liste[-4:-1])
Yukarıdaki kod çalıştırıldığında -4. nesne olan portakal'dan -1. nesne olan karpuz'a kadar değerler bir dize haline getirilecektir.

Bir Değeri Değiştirmek

Dizedeki bir değeri değiştirmek için önce değişkenin adının sağına köşeli parantez arasında sıra numarası (index) yazılır, ardından eşittir kullanılarak yeni değer yazılır.

PYTHON Kodu

liste = ["elma", "muz", "armut"]
liste[0] = "mandalina"
print(liste)

Dizedeki Tüm Değerleri Sırayla Yazdırmak

for döngüsünü aşağıdaki biçimde kullanarak dizedeki değerleri tek tek işleyebiliriz.

PYTHON Kodu

liste = ["elma", "muz", "kiraz"]
for x in liste:
  print(x)
Bu konuya daha sonra döngüler kısmında kapsamlı bir şekilde değinilecektir.

Bir Değerin Listede Var Olup Olmadığını Kontrol Etmek

Bunun için in komutunu kullanırız. değer in liste sorgusu eğer listede bu değer varsa True, yoksa False olarak döner:

PYTHON Kodu

liste = ["elma", "muz", "kiraz"]
if "elma" in liste
   print("Evet, elma listede var!")

Bir Dizenin Kaç Elemanlı Olduğunu Bulmak

Dizelerin eleman sayısı yani boyutu/genişliği len() fonksiyonu ile tespit edilebilir:

PYTHON Kodu

liste = ["elma", "muz", "kiraz"]
print(len(liste))

Dizeye Değer Eklemek

Dizeye yeni bir değer eklemek için append() fonksiyonundan faydalanabiliriz. Değer, dizenin en sonuna eklenecektir.

PYTHON Kodu

liste = ["elma", "muz", "kiraz"]
liste.append("kavun")
print(liste)
Eğer dize içerisinde belli bir sıraya değer eklenecekse insert() fonksiyonundan faydalanılır. Fonksiyonda kullanılacak iki parametreden biri kaçıncı sıraya yerleştirileceği, diğeri ise eklenecek değerdir. Eklendiği sıradan daha ileri bir sırada olan değerler bir kaydırılır.

PYTHON Kodu

liste = ["elma", "muz", "kiraz"]
liste.insert(1, "kavun")
print(liste)

Dizeden Bir Değeri Silmek

Bunun için remove() fonksiyonu kullanılır. Parantez içinde silinecek değer belirtilir:

PYTHON Kodu

liste = ["elma", "muz", "kiraz", "kavun"]
liste.remove("kavun")
print(liste)
Eğer dizenin belli bir sırasındaki nesneyi sileceksek pop() fonksiyonundan faydalanabiliriz. Parantez içinde sıra numarası belirtebiliriz. Eğer hiçbir şey belirtmezsek dizenin en sonundaki nesne silinir.

PYTHON Kodu

liste = ["elma", "muz", "kiraz", "kavun"]
liste.pop()
print(liste)
Sırası belli bir değer silerken del özelliğinden faydalanabiliriz. Bu ifadeden sonra dizenin adı ve köşeli parantez içinde sırası yazılır.

PYTHON Kodu

meyveler = ["armut", "kiraz", "çilek"]
del meyveler[0]
print(meyveler)
Yukarıdaki kod çalıştırıldığında "armut" silinecek ve dize "kiraz" ve "çilek" olmak üzere iki elemana düşecektir. del ile tüm dizedeki elemanları temizlemek de mümkün. Bunun için index belirtmemeniz yeterli:

PYTHON Kodu

meyveler = ["armut", "kiraz", "çilek"]
del meyveler
Yukarıda belirtilen şekilde kullanıldığında dize tamamen tanımsız (undefined) hale gelir. Eğer aynı zamanda dizeyi bu durumdan korumak istiyorsanız clear() yöntemini kullanabilirsiniz:

PYTHON Kodu

meyveler = ["armut", "kiraz", "çilek"]
meyveler.clear();
print(meyveler)

Listeleri Kopyalamak

Bunun için copy() yöntemini kullanabilirsiniz.

PYTHON Kodu

meyveler = ["armut", "kiraz", "çilek"]
yeniliste = meyveler.copy();
print(yeniliste)
Uyarı: Listeleri liste1 = liste2 yazarak kopyalayamazsınız. Çünkü bunu yaparsanız liste1, liste2'nin referansı olacak ve liste2'de yapılan değişiklikler liste1 için de geçerli olacaktır.

Liste kopyalamak için list() sınıfından da faydalanabilirsiniz.

PYTHON Kodu

meyveler = ["armut", "kiraz", "çilek"]
yeniliste = list(meyveler)
print(yeniliste)

Listeleri Birleştirmek

Python'da iki veya daha fazla listeyi birleştirmek için bazı yöntemler var. Bunlardan biri artı (+) operatörünü kullanmaktır:

PYTHON Kodu

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

list3 = list1 + list2
print(list3)
Eğer tek tek değerleri eklemek isterseniz for ile bir listeyi sıralayıp diğerinden append() ile değerler ekleyebilirsiniz:

PYTHON Kodu

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

for x in list2:
  list1.append(x)

print(list1)
Diğer bir yöntem extend() yöntemini kullanmaktır:

PYTHON Kodu

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

list1.extend(list2)
print(list1)

list() Sınıfı İle Yeni Liste Oluşturmak

Normalde liste oluştururken dize = ["a", "b" , "c"] yeterlidir. Ancak list() kullanarak da listeler oluşturulabilir. Aşağıda buna bir örnek var:

PYTHON Kodu

meyveler = list(("elma", "muz", "kiraz")) # dikkat! parantezler köşeli değil
print(meyveler)
Diğer list fonksiyonları: count(), reverse() ve sort() sonraki derslerimizde anlatılacaktır.