Python programlama dilinin altı yerleşik dizisi vardır, ancak en yaygın olarak listeler ve tuple kullanılır.
Tüm dizin türleri ile yapabileceğimiz çok fazla işlem var. Bu işlemler, dizine ekleme, çıkarma, sıralama vb. gibi işlemleri içerir. Buna ek olarak, Python, bir dizinin uzunluğunu, en büyük ve en küçük öğelerini bulmak için vb. gibi işlemleri uygulayacak fonksiyonlara sahiptir.
Listeler, köşeli parantezler arasında virgülle ayrılmış değerlerin (öğeler) kümeler, Python'da bulunan en kullanışlı veri türüdür. Bir liste hakkında önemli olan, bir listedeki öğelerin aynı türde olması gerekmemesidir.
Bir liste oluşturma, köşeli parantezler arasında virgülle ayrılmış farklı değerleri kümelendirilmesidir.
liste1 = ['pythontr', 'husonet', 1978, 2007]; liste2 = [1, 2, 3, 4, 5 ]; liste3 = ["a", "b", "c", "d"]
Not:listeler php'deki yada delphi'deki dizi(array) lara benzetebiliriz.
Listelerin dizinleri 0'dan başlar ve listeler dilimlenmiş, birleştirilebilir vb. olabilir.
Listelerdeki değerlere erişmek için ayrıca atama işlemleri için köşeli parantezler içinde index numaraları kullanabilirsiniz.
#!/usr/bin/python list1 = ['pythontr', 'husonet', 1978, 2017] list2 = [1, 2, 3, 4, 5, 6, 7 ] print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]
Yukarıdaki kod çalıştırıldığında aşağıdaki sonucu verir:
list1[0]: pythontr list2[1:5]: [2, 3, 4, 5]
Atama operatörü ile listeleri güncelleyebilir yada append fonksiyonu ile listelere ekleme yapabiliriz.
#!/usr/bin/python list = ['pythontr', 'husonet', 1978, 2017]; print "index 2 degeri : " print list[2] list[2] = 2009 print "index 2 yeni değer: " print list[2]
Not: append () metodu sonraki bölümde ele alınacaktır.
Yukarıdaki kod çalıtırıldığında aşağıdaki sonucu verir :
index 2 degeri : 1978 index 2 yeni değer: 2009
Bir liste öğesini kaldırmak için, tam olarak hangi öğeleri / öğeleri silmekte olduğunuzu biliyorsanız del() fonksiyonunu veya bilmiyorsanız remove() fonksiyonunu kullanabilirsiniz.
#!/usr/bin/python list1 = ['pyhtontr', 'husonet', 1978, 2017]; print list1 del list1[3]; print "index 3 silindi : " print list1
Yukarıdaki kod çalıtırıldığında aşağıdaki sonucu verir :
\['pyhtontr', 'husonet', 1978, 2017\] index 3 silindi : ['pyhtont', 'husonet', 1978]
Not: remove () fonksiyonu sonraki bölümde açıklanmaktadır.
Listeler, * ve + operatörlerine yanıt verir; sonuçların bir dizge değil, yeni bir liste olması dışında, burada da bitiştirme ve tekrarlama demektir.
test = [2] test * 10
Yukarıdaki kod çalıtırıldığında aşağıdaki sonucu verir :
[2, 2, 2, 2, 2, 2, 2, 2, 2, 2]
a = ['a'] b = ['b'] a = a + b
Yukarıdaki kod çalıtırıldığında aşağıdaki sonucu verir :
['a', 'b']
Aslında, listeler önceki bölümdeki dizelerde kullandığımız genel sıralı işlemlerin tümüne yanıt verir.
Python İfade | Sonuç | Açıklama |
len([1, 2, 3])[ | 3 | Uzunluk |
[1, 2, 3] + [4, 5, 6] | 1, 2, 3, 4, 5, 6 | Dizinleri birbirine ekleme, bağlama |
['Hi!'] * 4 | 'Hi!', 'Hi!', 'Hi!', 'Hi!' | Tekrarlama |
3 in [1, 2, 3] | True | Kontrol |
for x in [1, 2, 3]: print x, | 1 2 3 | Tekrarlama |
Listeler diziler olduğundan, dizin oluşturma ve bölümleme işlemleri, dizeler için yaptığı gibi listeler için aynı şekilde çalışır.
p = ['pythontr', 'Pythontr', 'PYTHONTR!']
Python İfade | Sonuç | Açıklama |
p[2] | 'PYTHONTR!' | Indexler sıfırdan başlar |
p[-2] | 'Pythontr' | Negatif: sağdan sola sayar |
p[1:] | 'Pythontr', 'PYTHONTR!' | Negatif: sağdan sola sayar |
No | Fonksiyon Açıklamaları |
1 | cmp(list1, list2) Her iki listenin öğelerini karşılaştırır. |
2 | len(list) Listenin toplam uzunluğunu verir. |
3 | max(list) Listeden en yüksek değerli öğeyi döndürür. |
4 | min(list) Listeden en düşük değerli öğeyi döndürür. |
5 | list(seq) Bir tuple listeye döndürür |
No | Fonksiyon Açıklamaları |
1 | list.append(obj) Nesneyi listeye ekler. |
2 | list.count(obj) Listede varolan nesne sayısını döndürür |
3 | list.extend(seq) Dizin içeriğini listeye ekler |
4 | list.index(obj) Listede Nesne'nin göründüğü en düşük index numarasını döndürür. |
5 | list.insert(obj) Nesne'yi belirtilen offset dizinin ardına ekler. |
6 | list.pop(obj=list) Listedeki son nesne veya öğeyi kaldırır ve döndürür |
6 | list.remove(obj) Öğeyi listeden kaldırır. |
7 | list.reverse() Listeyi tersine çevirir. |
8 | list.sort([func]) Liste içinde sıralama yapar. |
$ipython >>> liste = ["a", "b", "pythontr", "z", "husonet"] #(1) >>> liste ['a', 'b', 'pythontr', 'z', 'husonet'] >>> liste[0] #(2) 'a' >>> liste[4] #(3) 'husonet'
>>> liste ["a", "b", "pythontr", "z", "husonet"] >>> liste[1:3] #(1) ['b', 'pythontr'] >>> liste[1:-1] #(2) ['b', 'pythontr', 'z'] >>> liste[0:3] #(3) ['a', 'b', 'pythontr']
>>> liste ['a', 'b', 'pythontr', 'z', 'husonet'] >>> liste[:3] #(1) ['a', 'b', 'pythontr'] >>> liste[3:] #(2) ['z', 'husonet'] >>> liste[:] #(3) ['a', 'b', 'pythontr', 'z', 'husonet']
>>> liste ['a', 'b', 'pythontr', 'z', 'husonet'] >>> liste.append("yeni") #(1) >>> liste ['a', 'b', 'pythontr', 'z', 'husonet', 'yeni'] >>> liste.insert(2, "yeni") #(2) >>> liste ['a', 'b', 'yeni', 'pythontr', 'z', 'husonet', 'yeni'] >>> liste.extend(["iki", "eleman"]) #(3) >>> liste ['a', 'b', 'yeni', 'pythontr', 'z', 'husonet', 'yeni', 'iki', 'eleman']
>>> ls = ['a', 'b', 'c'] >>> ls.extend(['d', 'e', 'f']) #(1) >>> ls ['a', 'b', 'c', 'd', 'e', 'f'] >>> len(ls) #(2) 6 >>> ls[-1] 'f' >>> ls = ['a', 'b', 'c'] >>> ls.append(['d', 'e', 'f']) #(3) >>> ls ['a', 'b', 'c', ['d', 'e', 'f']] >>> len(ls) #(4) 4 >>> ls[-1] ['d', 'e', 'f']
>>> liste ['a', 'b', 'yeni', 'pythontr', 'z', 'husonet', 'yeni', 'iki', 'eleman'] >>> liste.index("pythontr") #(1) 3 >>> liste.index("yeni") #(2) 2 >>> liste.index("delphi") #(3) Traceback (innermost last): File "<interactive input>", line 1, in ? ValueError: list.index(x): x not in list >>> "delphi" in liste #(4) False
>>> liste ['a', 'b', 'yeni', 'pythontr', 'z', 'husonet', 'yeni', 'iki', 'eleman'] >>> liste.remove("z") #(1) >>> liste ['a', 'b', 'yeni', 'pythontr', 'husonet', 'yeni', 'iki', 'eleman'] >>> liste.remove("yeni") #(2) >>> liste ['a', 'b', 'pythontr', 'husonet', 'yeni', 'iki', 'eleman'] >>> liste.remove("deneme") #(3) >>> li.remove("c") Traceback (innermost last): File "<interactive input>", line 1, in ? ValueError: list.remove(x): x not in list >>> liste.pop() #(4) 'eleman' >>> liste ['a', 'b', 'pythontr', 'husonet', 'yeni', 'iki'] >>> liste.pop(1) #(5) 'b' >>> liste ['a', 'pythontr', 'husonet', 'yeni', 'iki']
>>> liste = ['a', 'b', 'c'] >>> liste = liste + ['d', 'e'] #(1) >>> liste ['a', 'b', 'c', 'd', 'e'] >>> liste += ['f'] #(2) >>> liste ['a', 'b', 'c', 'd', 'e', 'f'] >>> liste = ['a', 'b'] * 3 #(3) >>> liste ['a', 'b', 'a', 'b', 'a', 'b']
>>> liste = ['a', 'b', 'yeni', 'pythontr', 'z', 'husonet', 'yeni', 'iki', 'eleman'] >>> liste.sort() #(1) >>> liste ['a', 'b', 'eleman', 'husonet', 'iki', 'pythontr', 'yeni', 'yeni', 'z'] >>> liste.reverse() #(2) >>> liste ['z', 'yeni', 'yeni', 'pythontr', 'iki', 'husonet', 'eleman', 'b', 'a'] >>> liste.count('yeni') #(3) 2
Yorumlar