Python’da Listeler
İçerikler
Liste Oluşturma
Bir değişkende birçok öğeyi saklamak için kullanılan yapılara liste denir. Listelere ait öğeler [ ] (köşeli parantez) içerisine yazılırlar. Eğer yazılacak öğe string ise ” ” (tırnak işareti) arasına yazılır. Öğeleri birbirinden ayırmak için virgül kullanılır. Basit bir liste aşağıdaki gibi tanımlanabilir:
names = [“Ahmet”, “Mehmet” , “Ali”, “Ayşe”]
Listenin içerisindeki öğelere erişmek mümkündür. Bunun için her bir öğenin indeks numarasının kullanması gerekir. İndeks numarası 0’dan başlayarak öğe sayısı kadar aritmetik olarak devam eder. Listeler tamsayı, dize ve nesne gibi veri türlerinden oluşabilirler. Aynı zamanda listeler sıralı ve değiştirilebilirlerdir.
example_list = [1,2,3,”Adnan”, [1,2,3]]
example_list[2] yazarsak 2 indeks numarasına sahip öğe çıktı olarak gözükür. Bu da 3 öğesidir. Python’da listelerin içerisindeki öğelere negatif indisler kullanılarakta erişilebilir. Örnek olarak example_list[-1] yazılırsa, en son öğe olan [1,2,3] öğesine erişilir.
Listeye Öğe Ekleme
Listeye öğe eklenildiğinde, eklenilen öğe listenin sonuna yazılır. Eğer listeye öğe eklemek istenilirse .append() fonksiyonu kullanılabilir.
INPUT:
example_list = [1,2,3,"Adnan", [1,2,3]]
example_list.append(4)
example_list
OUTPUT:
[1, 2, 3, 'Adnan', [1, 2, 3], 4]
Yukarıdaki kod bloğunda yapılan işlemle listeye 4 elemanı eklendi. Listeler içerisindeki öğelerin değiştirilebileceği söylenmişti. Bu değişikliği yapmak için değiştirilmek istenen öğenin indeks numarasının kullanılması gerekir. Örnek olarak 1 öğesinin yerine 0 yazılsın.
INPUT:
example_list[0] = 0
example_list
OUTPUT:
[0, 2, 3, 'Adnan', [1, 2, 3], 4]
Liste Uzunluğunu Bulma
Listenin içerisindeki eleman sayısı listenin uzunluğunu verir. Listenin içerisindeki eleman sayısını bulmak için len() fonksiyonu kullanılır.
INPUT:
len(example_list)
OUTPUT:
6
.append() ile eklenilecek öğe listenin sonuna eklenir. Eklenilen öğenin konumunu kendiniz belirlemek istiyorsanız insert() fonksiyonunu kullanabilirsiniz. Bu fonksiyon insert(konum,değer) şeklinde kullanılır.
INPUT:
example_list.insert(0, "pi404")
example_list
OUTPUT:
['pi404', 0, 2, 3, 'Adnan', [1, 2, 3], 4]
Bu iki ekleme fonksiyonun yanı sıra extend() fonksiyonu da listeye öğe eklemek için kullanılabilir. Bu fonksiyonun diğerlerinden farkı ise birden çok öğeyi listeye ekleyebiliyor olmasıdır.
INPUT:
example_list.extend([7,8,9])
example_list
OUTPUT:
['pi404', 0, 2, 3, 'Adnan', [1, 2, 3], 4, 7, 8, 9]
Listeden Öğe Çıkarma
Burada kadar gösterilenler listeye öğe eklemek için kullanılan fonksiyonlardı. Şimdi ise bir listeden öğe çıkarmak için kullanılan fonksiyonlardan bahsedelim. remove() fonksiyonu içerisine yazılan tek bir öğeyi listeden kaldırır.
INPUT:
example_list.remove(7)
example_list
OUTPUT:
['pi404', 0, 2, 3, 'Adnan', [1, 2, 3], 4, 8, 9]
Eğer listeden aynı öğeden birden fazla var ise ve bu öğe üzerinde remove() fonksiyonu kullanılırsa, indeks numarası önce olan öğe silinir. Aynı olan diğer öğeler ise listede durmaya devam eder.
INPUT:
example_list2 = [1,2,3,4,2]
example_list2.remove(2)
example_list2
OUTPUT:
[1, 3, 4, 2]
Bu fonksiyona benzer olarak pop() ve del fonksiyonlarıda kullanılabilir. pop() fonksiyonu kaldırılmak istenen öğenin indeks numarası kullanılmalıdır. Örnek olarak
INPUT:
example_list.pop(2)
del example_list[3]
example_list
OUTPUT:
['pi404', 0, 3, [1, 2, 3], 4, 8, 9]
Listenin içerisindeki tüm öğeleri silmek için clear() metodu kullanılabilir.
INPUT:
example_list2.clear()
example_list2
OUTPUT:
[]
Listelerde Kullanılan Başlıca Fonksiyonlar
index() Fonksiyonu
index() fonksiyonu liste içerisindeki bir öğrenin indeks numarasını öğrenmek için kullanılır. Örnek olarak,
INPUT:
example_list.index([1,2,3])
OUTPUT:
3
count() Fonksiyonu
Liste içerisindeki bir öğeden kaç adet olduğunu öğrenmek için count() fonksiyonu kullanılabilir.
INPUT:
example_list3 = ["a","a","a","a","a","a","b","c","d"]
example_list3.count("a")
OUTPUT:
6
sort() Fonksiyonu
Liste içerisindeki öğeleri küçükten büyüğe doğru sıralamak için sort() fonksiyonu kullanılabilir.
INPUT:
example_list4 = [5,8,14,7,6,9]
example_list4.sort()
example_list4
OUTPUT:
[5, 6, 7, 8, 9, 14]
Burada liste içerisindeki öğelerin hepsi ya dizelerden ya da sayılardan oluşmalıdır. Eğer dize ve sayılar birlikte olduğu bir listede sort() fonksiyonu kullanılırsa hata alınır.
INPUT:
example_list5 = ["Ali", 5]
example_list5.sort()
example_list5
OUTPUT:
----------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-39-e362aaef30e4> in <module>()
1 example_list5 = ["Ali", 5]
----> 2 example_list5.sort()
3 example_list5
TypeError: '<' not supported between instances of 'int' and 'str'
reverse() Fonksiyonu
Listenin içerisindeki öğeleri tersten yazmak için reverse() fonksiyonu kullanılabilir.
INPUT:
example_list3.reverse()
example_list3
OUTPUT:
['d', 'c', 'b', 'a', 'a', 'a', 'a', 'a', 'a']
copy() Fonksiyonu
Oluşturulan bir listenin kopyasını oluşturmak için copy() fonksiyonu kullanılır. Örnek olarak
INPUT:
copyList3 = example_list3.copy()
copyList3
OUTPUT:
['d', 'c', 'b', 'a', 'a', 'a', 'a', 'a', 'a']
Liste Oluşturmak için Alternatif Yöntemler
Liste oluşturmak için farklı birkaç yöntem daha kullanılabilir. Örneğin list() fonksiyonu kullanılarak, içerisine yazılan öğelerden bir liste oluşturulabilir.
INPUT:
new_list = list(("pencil","eraser","book", 5))
new_list
OUTPUT:
['pencil', 'eraser', 'book', 5]
Bu yöntemin dışında range kullanılarakta liste tanımlamak mümkündür. Örnek olarak:
INPUT:
NewList = [2*x+1 for x in range(10)]
NewList
OUTPUT:
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
Liste Dilimleme
Bu bölümde son olarak listelerin dilimlenmesinden ve üyelik testinden bahsedelim. Bir listeyi dilimlemek için a[m:n] ifadesi kullanılabilir. Burada m, dilimlenmeye hangi elemandan başlanılmak isteniyorsa, o elemanın indeks numarasını ifade ederken, n ise dilimlenmenin hangi elemanda son bulması isteniyorsa, o elemanın indeks numarasını ifade eder.
INPUT:
example_list6 = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
mini_list = example_list6[0:6]
mini_list
OUTPUT:
[0, 1, 2, 3, 4, 5]
a[m:n] ifadesini kullanarak liste içindeki elemanlardan yeni bir liste oluşturulabilir. Bu durum bir kümenin, alt kümesi gibi düşünülebilir. Ancak burada dikkat edilmesi gereken husus dilimleme ile oluşturulan yeni listenin içerisinde indeks numarası m olan değer bulunurken, indeks numarası n olan değer bulunmaz. Liste oluşturmanın yanı sıra dilimleme ile listenin birden fazla elemanına ulaşılabilir ve bu elemanlar üzerinde çeşitli işlemler yapabilir.
INPUT:
ListOfEvenNumbers = [ ]
ListOfOddNumbers = [ ]
for number in example_list6:
if number%2 ==0:
ListOfEvenNumbers.append(number)
else:
ListOfOddNumbers.append(number)
print("0-15 arasındaki çift sayılar kümesi = {}".format(ListOfEvenNumbers))
print("0-15 arasındaki tek sayılar kümesi = {}".format(ListOfOddNumbers))
OUTPUT:
0-15 arasındaki çift sayılar kümesi = [0, 2, 4, 6, 8, 10, 12, 14]
0-15 arasındaki tek sayılar kümesi = [1, 3, 5, 7, 9, 11, 13, 15]
Eğer a[:] ifadesi kullanılırsa, listenin içerisindeki tüm elemanlar çağrılır. Örnek olarak:
INPUT:
example_list6[:]
OUTPUT:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
a[m:n:c] ifadesi liste içerisindeki m ile n arasındaki elemanları c(2 olsaydı,2’şerli atlayarak) atlayarak yeni bir liste olarak geri verir. Örnek olarak:
INPUT:
example_list6[0:10:2]
OUTPUT:
[0, 2, 4, 6, 8]
Ayrıca liste içerisindeki elemanlar tersten yazılmak isteniyorsa, [::-1] ifadesi kullanılabilir. Örnek olarak
INPUT:
example_list6[::-1]
OUTPUT:
[15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
Üyelik Sorgulama
Üyelik sorgulaması ise bir elemanın liste içerisinde olup olmadığını öğrenmek için yapılır. in ve not in operatörlerini kullanarak bu sorgulama gerçekleştirilebilir. in operatörü eğer eleman liste içerisinde ise True, değilse False döndürür. not in operatörü ise eleman liste içinde değilse True, içinde ise False döndürür. Örnek olarak:
INPUT:
5 in example_list6
OUTPUT:
True
INPUT:
16 in example_list6
OUTPUT:
False
INPUT:
20 not in example_list6
OUTPUT:
True
INPUT:
3 not in example_list6
OUPUT:
False
Bir sonraki yazıda Python’dan bahsetmeye devam edeceğim.