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.