Listeler(Lists) - Python 101 #8

Listeler

Örnek üzerinden açıklayacak olursak; normal bir string(metinsel) değişkendeki gibi, listelerde de veriler tutulur. String bir değişkende verilerimizin karakter olmasının aksine listelerde bu veriler herhangi bir değişken tipindeki veriler olabilir.

Python'da listeleri nasıl oluştururuz?

Python'da liste oluşturmanın birçok yolu vardır. En basit haliyle bir listeyi oluşturmak için ihtiyacımız olan tek şey köşeli parantezlerdir([ ]).

rakamlar = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
isimler = ["Caylak", "Yazilimci"]

Listelerimizi yazdıracak olursak alacağımız sonuç;

print rakamlar
print isimler

# Çıktı
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
# ["Caylak", "Yazilimci"]

şeklinde olacaktır. 

Liste içerisindeki veriye ulaşmak

Liste içerisindeki bir veriye ulaşmak istediğimiz zaman liste adını yazdıktan sonra aynı stringlerde yaptığımız gibi köşeli parantezler ile indexini belirtmemiz yeterlidir. Örneğin;

print rakamlar[2]
print isimler[0]

# Çıktı
# 2
# Caylak

Liste içerisinden parçalı bir şekilde veri almak

Aynı stringlerde yapmış olduğumuz gibi listelerde de köşeli parantezleri kullanarak "[ ]" liste içerisinde belirli indexlerden veri alabilmekteyiz.

harfler = ['a', 'b', 'c', 'd', 'e', 'f']
print harfler[0:3]
print harfler[3:]
print harfler[:2]
# Çıktı
# ['a', 'b', 'c']
# ['d', 'e', 'f']
# ['a', 'b']

Listeye veri ekleme

  1. Append

Listelere veri eklemek istediğimiz zaman tek yapmamız gereken append fonksiyonunu kullanmak. Append fonksiyonuna ulaşabilmek için liste adımızı yazdıktan sonra nokta koymamız yeterlidir. Örnekle incelemek gerekirse, yukarıda kullandığımız harfler listemize yeni bir eleman ekleyelim.

    2. Insert

Listelere ekleme yapmak istediğimiz zaman kullanabileceğimiz bir farklı yöntem ise insert fonksiyonudur. Basitçe insert fonksiyonunun nasıl kullanıldığına göz atacak olursak;

# liste_adi.insert(index,deger)
harfler = ['a', 'b', 'd']
harfler.insert(2,'c')
print harfler
# Sonuc
['a', 'b', 'c', 'd']

    3. Extend

Listelere başka bir listeden veri eklemek istediğimiz zamanda ise devreyen giren extend fonksiyonumuzun nasıl kullanıldığını bir örnekle inceleyelim.

sabit_liste = ["caylak","python"]
eklenecek_liste = ["yazilimci","programci"]
sabit_liste.extend(eklenecek_liste)
print sabit_liste

# Çıktı
# ['caylak', 'python', 'yazilimci', 'programci']

 Pop/Remove/Del/Sort Fonksiyonları

  1. Pop

Eğer sileceğimiz değerin liste içerisindeki index değerini biliyorsak, o değeri listeden silmek için pop fonksiyonunu kullanabiliriz. Pop fonksiyonu ayrıca bizlere silinen değeri geri döndürür ve bu şekilde sildiğimiz değeri ayrı bir değişkene rahatlıkla alabiliriz.

Yukarıda oluşturmuş olduğumuz harfler adlı listesinden 'b' değerini çıkarmak istersek; b'nin index değerini(1) pop ile kullanarak silme işlemini yapabiliriz.

# list_adi.pop(index)
harfler = ['a', 'b', 'd']
silinen = harfler.pop(1)
print harfler
print silinen
# Sonuc
['a', 'd']
b

    2. Del

Del fonksiyonunu pop fonksiyonu ile kıyasladığımız zaman, en kısa haliyle açıklamak gerekirse; eğer sildiğimiz değeri kullanmamız gerekmiyorsa ve sileceğimiz değerin indexini biliyorsak, direkt del fonksiyonunu kullanabiliriz. Pop fonksiyonunda yaptığımız aynı örnek üzerinden işlemi del ile yapacak olursak;

# del liste_adi[index]
harfler = ['a', 'b', 'd']
del harfler[1]
print harfler
# Sonuc
['a', 'd']

Del fonksiyonu bize bir değer döndürmediğinden dolayı silme işlemimizi yaparken silinen değer ile hiç uğraşmadık. :) Birden fazla değer aralığını liste içerisinden silmek istersek, yukarıda görmüş olduğumuz liste parçalama yöntemini del üzerinde kullanabiliriz. Örneğin;

harfler = ['a', 'b','c', 'd','e','f','g']
del harfler[1:4]
print harfler

# Sonuc
['a', 'e', 'f', 'g']

 

    3. Remove

Remove fonksiyonunu, listemizden spesifik bir değeri silmek için kullanabiliriz. Remove fonksiyonu parametre olarak silenecek değerin direkt kendisini alır. Örneğin;

# list_adi.remove(deger)
harfler = ['a', 'b', 'd']
harfler.remove('b')
print harfler

# Sonuc
['a', 'd']

    4. Sort

Sort fonksiyonunu, liste içerisinde değerleri sıralama(küçük değerden büyük değere) yapmak istediğimiz zaman kullanabiliriz. Void bir fonksiyon olduğundan dolayı bize bir değer döndürmeyecektir. Kullanımına bakacak olursak;

# liste_adi.sort()
harfler = ['d', 'c','b','a','eee','fb','gs']
harfler.sort()
print harfler

# Sonuc
['a', 'b', 'c', 'd', 'eee', 'fb', 'gs']

Sort fonksiyonunun, void bir fonksiyon olduğundan yani bir başka deyişle geriye bir değer döndürmeyen fonksiyon olduğundan bahsetmiştik. Peki bir listedeki verileri sıralanmış hali ile başka bir listeye almak istersek ne yapacağız? Bu durumda ise devreye sorted() fonksiyonu girmektedir. Sorted fonksiyonu parametre olarak aldığı listenin sıralanmış halini size geri döndürür. Kullanımına bakacak olursak;

# sorted(liste_adi) bize siralanmis bir sekilde parametre olarak verilen listeyi döndürecektir
harfler = ['d', 'c','b','a','eee','fb','gs']
siralanmis_liste= sorted(harfler)
print harfler
print siralanmis_liste
# Sonuc
['d', 'c', 'b', 'a', 'eee', 'fb', 'gs']
['a', 'b', 'c', 'd', 'eee', 'fb', 'gs']

    5. Reverse

Reverse fonksiyonu, listenin içerdiği verilerin sırasıyla tam tersine çevirir. Reverse fonksiyonu void bir fonksiyondur geriye değer döndürmez. Yukarıda kullanmış olduğumuz harfler listesini ele alarak bir örnek üzerinden reverse fonksiyonunun kullanımını inceleyelim.

# liste_adi.reverse()
harfler = ['d', 'c','b','a','eee','fb','gs']
harfler.reverse()
print harfler
# Sonuc
['gs', 'fb', 'eee', 'a', 'b', 'c', 'd']

ÖRNEK - 1

Reverse ve Sorted fonksiyonlarını bir arada kullanarak sayılar içeren bir listeyi büyükten küçüğe sıralanmış bir şekilde buyukten_kucuge adli bir bir listeye alalım.

sayilar = [12,17,4,9,32,45]
buyukten_kucuge = sorted(sayilar)
buyukten_kucuge.reverse()
print buyukten_kucuge
# Sonuc
[45, 32, 17, 12, 9, 4]

 

 

 

Add comment