Hatırlarsanız değişkenler içlerinde sadece bir değer barındırabiliyordu. Yeni bir değer atamak istediğinizde bir önceki silinip yerine yenisi yazılıyordu. Listelerde durum böyle değildir, içlerinde birden fazla veri bulundurmak için tasarlanmışlardır. Bir çok dilin aksine Python'da listeler(diziler) birden fazla veri tipini bünyesinde barındırabilir.

Tanımlama

Aşağıda bir tane boş bir tane de üç elemanlı bir liste tanımlamasını görüyorsunuz.

egitmenler = []
ogrenciler = ["Umut", "Çağdaş", "Coşkun"]

Dilerseniz içinde karışık tiplerden veri barındırabilirsiniz.

bunlarNe = ["Umut", 9111, 3.14, " "]

Basit şekilde tüm listeyi yazdırmak için print komutunu kullanabilirsiniz.

ogrenciler = ["Umut", "Çağdaş", "Coşkun"]
print(ogrenciler)

Eğer listenin istediğiniz bir elemanını yazdırmak isterseniz köşeli [ ] parantezler içinde sıra numarasını (index) vermelisiniz.

ogrenciler = ["Umut", "Çağdaş", "Coşkun"]
print(ogrenciler[1])

Fark ettiyseniz biz "Umut" çıktısını beklerken "Çağdaş" gördük. Bunun nedeni listelerin sıra numaralarının sıfırdan başlaması. Yani ilk elemanı istiyorsak şöyle yapmalıyız;

ogrenciler = ["Umut", "Çağdaş", "Coşkun"]
print(ogrenciler[0])

Tek bir eleman yerine belirli bir aralıktaki elemanları almak için köşeli parantez içine iki index yazılır; başlangıç ve bitiş. Geri dönecek olan liste yazdığınız indexler haricindedir.

dizi = ["C++", "Delphi","Python", "Ruby", "PHP", "C#", "Basic"]

print(dizi[1:4])

Gördüğünüz gibi birinci ve dördünce indexleri dahil etmeyip onların arasındaki elemanları aldık.

Fonksiyonlar

Listenin kaç elemanlı olduğunu öğrenmek için len fonksiyonunu kullanırız.

# -*- coding: utf-8 -*-

dizi = ["Merhaba", "bu", "bir", "dizidir."]

n = len(dizi)

print("Bu dizi {} elemanlı.".format(n))

Listedeki elemanı silme

Liste içindeki bir elemanı silmek için del ifadesini kullanırız.

dizi = ["Merhaba", "bu", "bir", "dizidir."]

print(dizi) # silinmeden önce

del dizi[2]

print(dizi) # silindikten sonra

Eğer direkt elemanı yazarak silmek isterseniz remove methodunu kullanabilirsiniz.

dizi = ["C++", "Delphi","Python", "Ruby", "PHP", "C#", "Basic"]

dizi.remove("C++")
dizi.remove("Delphi")
dizi.remove("C#")
dizi.remove("Basic")

print(dizi)

Bir diğer kullanabileceğiniz yol ise pop methodu. Eğer parametre vermezseniz listenin son elemanını, parametre verirseniz o indexteki elemanı siler.

dizi = ["C++", "Delphi","Python", "Ruby", "PHP", "C#", "Basic"]

dizi.pop(0)
dizi.pop()

print(dizi)

Listeye eleman ekleme

Listeye yeni bir eleman eklemek için append kullanılır. Yeni eleman listenin sonuna eklenir.

dizi = ["Python", "Ruby"]

dizi.append("PHP")

print(dizi)

Eklenen elemanın listede istediğimiz bir yere yerleşmesi için insert kullanırız. İlk parametre eklenecek elemanın sıra numarası (index), ikinci parametre eklenecek eleman.

dizi = ["Python", "Ruby"]

dizi.insert(0, "PHP")

print(dizi)

Sıralama

Listeyi alfabetik olarak sıralamak için sort methodu kullanılır.

dizi = ["C++", "Delphi","Python", "Ruby", "PHP", "C#", "Basic"]

dizi.sort()

print(dizi)

Listedeki elemanların sırasını tam tersine çevirmek için reverse methodu kullanılır. Önceki örnekte alfabetik olarak sıralamıştık, şimdi tam tersine çevirelim.

dizi = ["C++", "Delphi","Python", "Ruby", "PHP", "C#", "Basic"]

dizi.sort()

dizi.reverse()

print(dizi)

Liste içinde arama

Liste içinde arama yapabilmek için index fonksiyonu kullanılır. Geriye elemanın sıra numarasını döndürür.

# -*- coding: utf-8 -*-

dizi = ["C++", "Delphi","Python", "Ruby", "PHP", "C#", "Basic"]

ara = dizi.index("Python")

print("Aranılan eleman {}. sırada.".format(ara))

Eğer aradığımız elemanın liste içinde kaç tane olduğunu öğrenmek istiyorsak count kullanabiliriz.

# -*- coding: utf-8 -*-

dizi = ["Python", "Python","Python", "Ruby", "PHP", "C#", "Basic"]

ara = dizi.count("Python")

print("Dizi içinde {} tane var.".format(ara))

Şimdilik bu kadar, listeler konusu döngülerden sonra daha anlaşılır olacaktır.

Devam et: Sözlükler