Python derslerimize bugün python listeler ile devam ediyoruz. Bu konumuzda Python liste nedir? Python Liste nasıl oluşturulur ? Pythonda Listeleri indeksleme ve parçalama nasıl yapılır ? Python liste metotları ve işlemleri nelerdir? En çok kullanılan liste metotları ve son olarak iç içe listeler nasıl oluşturulur konu başlıklarını ele alacağız. Şimdi gelin yeni veri tipimiz olan listeleri öğrenmeye başlayalım.
Python Listeler yapılarından dolayı stringlerle çok ortak özellik gösterirler ve oldukça benzerdirler. Ayrıca kullanıldıkları yerlerde işleri çok kolaylaştırıp büyük yarar sağlayan bir veri tipidir. Tıpkı stringler gibi ,indekslenirler, parçalanırlar ve üzerinde değişik işlemler yapabildiğimiz metodlar bulunur. Bu büyük ortak özelliklere rağmen listelerin stringlerden önemli farkları da bulunmaktadır. Stringler dersimizde işlediğimiz ve bildiğimiz kadarıyla stringler değiştirilemeyen bir veri tipidir. Fakat , listelerimiz değiştirilebilir bir veri tipidir.
Pythonda bir listede her veri tipinden elemanı listenin içerisine yazabilir ve onu listede barındırabiliriz. Bu anlamda sıralı bir diziye benzer. Peki bu dersimizde ne öğreneceğiz?
- Python Liste Oluşturma
- Python Liste İndeksleme ve Parçalama
- Python Liste Metodları ve İşlemleri
- Python iç içe Listeler
Python Listeler ve Oluşturma
Pythonda listeler bir [ ] köşeli parantez içerisine veriler veya değerler konarak oluşturulabilir.
# liste değişkeni. Değişik veri tiplerinden değerleri saklayabiliyoruz.
Input : liste = [3,4,5,6,"Savaşan Adam",3.14,5.324]
Input : liste
Output : [3, 4, 5, 6, ‘Savaşan Adam’, 3.14, 5.324]
Input : liste2 = [3,4,5,6,7,8,9]
Input : liste2
Output : [3, 4, 5, 6, 7, 8, 9]
# Boş liste
Input : bos_liste = []
Input : bos_liste
Output : []
# Boş liste . list() fonksiyonuyla da oluşturulabilir.
Input : bos_liste = list()
Input : bos_liste
Output : []
# len fonksiyonu listeler üzerinde de kullanılabilir.
Input : liste3 = [3,4,5,6,6,7,8,9,0,0,0]
Input : len(liste3)
Output : 11
Pythonda string list() fonksiyonu yardımıyla listeye dönüştürülebilir.
Input : s = "Savaşanadam"
Input : lst = list(s)
Input : lst
Output : ['S', 'a', 'v', 'a', 'ş', 'a', 'n' , ‘a’ , ‘d’ , ‘a’ , ‘m’]
Python Liste İndexleme ve Parçalama
Pythonda listeleri indeksleme ve parçalama stringlerle birebir olarak aynıdır.
Input : liste = [3,4,5,6,7,8,9,10]
Input : liste
Output : [3, 4, 5, 6, 7, 8, 9, 10]
# 0. eleman
Input : liste[0]
Output : 3
# 4. eleman
Input : liste[4]
Output : 7
# Sonuncu Eleman
Input : liste[len(liste)-1]
Output : 10
# Sonuncu Eleman
Input : liste[-1]
Output : 10
# İlk Eleman
Input : liste[-len(liste)]
Output : 3
# Baştan 4. indekse kadar (dahil değil)
Input : liste[:4]
Output : [3, 4, 5, 6]
# 1.indeksten 5.indekse kadar
Input : liste[1:5]
Output : [4, 5, 6, 7]
Input : liste[5:]
Output : [8, 9, 10]
Input : liste[::2]
Output : [3, 5, 7, 9]
Input : liste[::-1]
Output : [10, 9, 8, 7, 6, 5, 4, 3]
Python Liste Metodları ve Temel Liste İşlemleri
Bu kısımda da pythonla listelerde yapabileceğimiz temel işlemleri ve bazı temel metodları öğreneceğiz. Listelerin daha bir çok metodunu kursun ileriki kısımlarında görüyor olacağız.
Bir listeyi birbirine toplama işlemini stringlerdeki gibi yapabiliriz.
Input : liste1 = [1,2,3,4,5]
Input : liste2 = [6,7,8,9,10]
Input : liste1 + liste2
Output : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Bir listeye bir tane eleman eklemek içinse aşağıdaki işlemi uygulayabiliriz.
Input : liste = [1,2,3,4]
Input : liste = liste + ["Savaşan Adam"]
Input : liste
Output : [1, 2, 3, 4, 'Savaşan Adam']
# Listeler direk olarak değiştirilebilirler.
Input : liste[0] = 10
Input : liste
Output : [10, 2, 3, 4, 'Savaşan Adam']
# Şöyle bir kullanım da mümkündür.
Input : liste[:2] = [40,50]
Input : liste
Output : [40, 50, 3, 4, 'Savaşan Adam']
Pythonda listeyi bir tamsayıyla da çarpabiliriz.
Input : liste = [1,2,3,4,5]
Input : liste * 3
Output : [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
Input : liste
Output : [1, 2, 3, 4, 5]
# Gördüğümüz gibi çarpma işlemi yapmamıza rağmen listemiz değişmiyor.
Input : liste = liste * 3
Input : liste
Output : [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
# Burada eşitleme yaptığımız için liste değişti.
Şimdi de isterseniz temel bazı liste metotlarına bakalım. Listeler, diğer programlama dillerindeki arraylere göre oldukça esnektir. Belli bir boyutları yoktur ve ekleme, çıkarma yapmak oldukça kolaydır.
Append Metodu
Python append metodu, verdiğimiz değeri listeye eklememizi sağlar.
Input : liste = [3,4,5,6]
Input : liste.append(7)
Input : liste
Output : [3, 4, 5, 6, 7]
Input : liste.append("Savaşan Adam")
Input : liste
Output : [3, 4, 5, 6, 7, 'Savaşan Adam']
POP METODU
Python pop metodu, içine değer vermezsek listenin son indeksindeki elemanı, değer verirsek verdiğimiz değere karşılık gelen indeksteki elemanı listeden atar ve attığı elemanı ekrana basar.
Input : liste = [1,2,3,4,5]
Input : liste.pop()
Input : liste
Output : [1, 2, 3, 4]
#Değer vermediğimiz için son eleman olan 5'i listeden çıkardı
Input : eleman = liste.pop(2)
Input : eleman
Input : liste
Output : [1, 2, 4]
# 3 Elamanını listeden çıkardı
Input : liste.append("Savaşan Adam")
Input : liste
Output : [1, 2, 4, 'Savaşan Adam']
# 'Savaşan Adam' elemanını listeye ekledik
Input : liste.pop()
Input : liste
Output : [1, 2, 4]
# Değer vermediğimziden dolayı son eklenen eleman 'Savaşan Adam' listeden çıkarıldı
Zamanı gelmişken söylemekte fayda var. Python liste elemanlarına ulaşırken eğer olmayan bir indeksi verirsek Python bizlere hata verecektir.
Input : liste = [12,54,67,67]
Output : liste[50]
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-41-621e5ad1f358> in <module>()
----> 1 liste[50]
IndexError: list index out of range
Sort Metodu
Python sort metodu listenin elemanlarını sıralamamızı sağlar. Hemen kullanımına bakalım.
Input : liste = [34,1,56,334,23,2,3,19]
Input : liste.sort() # Küçükten büyüğe sıralar.
Input : liste
Output : [1, 2, 3, 19, 23, 34, 56, 334]
Input : liste.sort(reverse = True) # Büyükten küçüğe sıralar.
Input : liste
Output : [334, 56, 34, 23, 19, 3, 2, 1]
Input : liste = ["Elma","Armut","Muz","Kiraz"]
Input : liste.sort() # Alfabetik olarak küçükten büyüğe
Input : liste
Output : ['Armut', 'Elma', 'Kiraz', 'Muz']
Input : liste = ["Elma","Armut","Muz","Kiraz"]
Input : liste.sort(reverse = True) # Alfabetik olarak büyükten küçüğe
Input : liste
Output : ['Muz', 'Kiraz', 'Elma', 'Armut']
python İç İçe Listeler
Pythonda listenin içinde başka bir liste bulundurmak mümkündür. Bunlara Pythonda iç içe listeler denmektedir. Bu tip bir özellik, Pythonda ağaç yapılarında veya matris yapılarında oldukça kullanışlı olmaktadır.
# 3 Tane liste oluşturalım.
Input : liste1 = [1,2,3]
Input : liste2 = [4,5,6]
Input : liste3 = [7,8,9]
Input : yeniliste = [liste1,liste2,liste3]
Input : yeniliste
Output : [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
#Şimdi, 2. listenin ilk elemanına nasıl ulaşacağımıza bakalım.
Input : yeniliste[1][0] # 1.elemanın 0.elemanı
Output : 4
Bu dersimizde Python’da listeler nedir? Liste nasıl oluşturulur? Listeleri indeksleme ve parçalama nasıl yapılır? Temel liste metodları ve işlemleri nelerdir? En çok kullanılan liste metodları ve son olarak iç içe listeler nasıl oluşturulur konu başlıklarını ele aldık. Fakat hala Pythonda listeler hakkında öğreneceklerimiz bitmiş değil ilerleyen derslerimizde yeri geldikçe listeler hakkında yeni şeyler öğrenmeye devam edeceğiz fakat şimdilik bu kadarı yeterli. Bir sonraki dersimizde demet veri tipleri hakkında bilgi edineceğiz fakat diğer derse geçmeden bu dersi tekrar edip örnekleri tek başınıza yapmayı unutmayın. Ayrıca w3schools adresindeki örneklerde “Try it Yourself” butonuna basarak kendinizi deneyebilirsiniz.