*256 Bit SSL Sertifikası * Full Mobil Uyumlu * Full SEO Uyumlu
İsterseniz Mobil Uygulama Seçeneğiyle
Listeler, programlama dillerinde sıklıkla kullanılan veri yapılarından biridir. Bu yapı, birden çok veri elemanını bir arada tutarak, elemanlara erişim ve düzenleme işlemlerinin yapılmasına olanak sağlar. Bu yazıda, Python programlama dilinde kullanılan listeler ve ilgili algoritmalar hakkında bilgiler paylaşacağım.
Python’da Listeler
Python, listeleri özellikle kullanıcılarının kolay anlayabilmesi ve kullanabilmesi için geliştirilmiş bir programlama dilidir. Listeler, pythonda veri tipi list ile ifade edilirler. Listeler, köşeli parantezler [ ] içine alınır ve virgül ile ayrılmış elemanlar ile tanımlanırlar.
Örnek:
listem = [1, 3, 5, 7, 9]
Listelerde erişim, dilimleme ve çeşitli işlemler yapmak için birçok fonksiyon bulunmaktadır. İşte, Python listeleri hakkında bazı örnekler.
Örnekler
1. Listelerin Elemanlarına Erişme
Listelerde, her elemanın konumu bir sıfırdan başlayarak sayılmaktadır. İlk eleman 0 sıra numarasına sahipken, son elemanın sıra numarası listedeki eleman sayısından bir azdır.
listem = [1, 3, 5, 7, 9]
İlk elemanı yazdırmak için;
print(listem[0]) #1
İkinci elemanı yazdırmak için;
print(listem[1]) #3
Son elemanı yazdırmak için;
print(listem[4]) #9
2. Dilimleme
Listelerde, bir veya birkaç elemanın alt kümesini ayırmak için dilimleme yöntemi kullanılır. Listelerin elemanlarını bir aralıkla belirterek, o aralıktaki elemanların listesini alabiliriz.
listem = [1, 3, 5, 7, 9]
İlk iki elemanı dilimleme yöntemiyle almamız için, aşağıdaki şekilde hareket ediyoruz:
print(listem[0:2]) #[1, 3]
3. Eleman Ekleme
Listelere eleman eklemek için append() fonksiyonunu kullanabiliriz. Bu fonksiyon, listelere yeni eleman eklemek için kullanılır.
listem = [1, 3, 5, 7, 9]
listem.append(11)
print(listem) #[1, 3, 5, 7, 9, 11]
4. Eleman Silme
Listelerden bir eleman silmek için remove() fonksiyonunu kullanabiliriz. Bu fonksiyon, belirtilen elemanı listeden siler.
listem = [1, 3, 5, 7, 9]
listem.remove(3)
print(listem) #[1, 5, 7, 9]
5. Elemanları Sıralama
Listeleri sıralamak için, sort() fonksiyonunu kullanabiliriz. Bu fonksiyon, listelerin elemanlarını küçükten büyüğe veya büyükten küçüğe sıralamak için kullanılır.
listem = [7, 3, 1, 9, 5]
listem.sort()
print(listem) #[1, 3, 5, 7, 9]
6. Listeleri Birleştirme
Birden fazla listeyi birleştirmek için, extend() fonksiyonunu kullanabiliriz. Bu fonksiyon, listenin sonuna başka bir listedeki elemanları ekleyerek birleştirir.
listem1 = [1, 3, 5]
listem2 = [7, 9, 11]
listem1.extend(listem2)
print(listem1) #[1, 3, 5, 7, 9, 11]
Yukarıdaki örnekler, Python programlama dilinde kullanılan listelerin nasıl tanımlandığını, elemanlarına erişildiğini, eklendiğini, silindiğini ve birleştirildiğini açıklamaktadır.
Veri Yapıları İle Algoritmalar: Liste Algoritmaları
Listeler, programlama dillerinde birçok algoritmanın yapımında kullanılır. Bu algoritmalardan bazıları aşağıda yer almaktadır:
1. Linear Search (Lineer Arama)
Bu algoritma, listedeki her elemanın kontrol edilmesiyle çalışır. Aranan öğe bulunana kadar, listede ilerlemeye devam edilir. Bu algoritma, sıralanmış veya sıralanmamış listelerde kullanılabilir.
Örnek:
def linear_search(listem, aranacak_eleman):
for i in range(len(listem)):
if listem[i] == aranacak_eleman:
return \"Eleman bulundu.\"
return \"Eleman bulunamadı.\"
listem = [1, 3, 5, 7, 9]
print(linear_search(listem, 3)) #\"Eleman bulundu.\"
print(linear_search(listem, 6)) #\"Eleman bulunamadı.\"
2. Binary Search (İkili Arama)
Bu algoritma, sıralanmış bir listede çalışır. Listenin orta elemanı ile aranan öğe karşılaştırılır. Eğer aranan öğe, orta elemandan küçükse, listenin sol yarısı seçilir. Aksi takdirde, listenin sağ yarısı seçilir. Bu işlem aranan öğe bulunana kadar devam eder.
Örnek:
def binary_search(listem, aranacak_eleman):
sol = 0
sag = len(listem)-1
while sol <= sag:
orta = (sol + sag)//2
if listem[orta] == aranacak_eleman:
return \"Eleman bulundu.\"
elif listem[orta] < aranacak_eleman:
sol = orta + 1
else:
sag = orta - 1
return \"Eleman bulunamadı.\"
listem = [1, 3, 5, 7, 9]
print(binary_search(listem, 3)) #\"Eleman bulundu.\"
print(binary_search(listem, 6)) #\"Eleman bulunamadı.\"
3. Insertion Sort (Eklemeli Sıralama)
Bu algoritma, her elemanın kendinden önceki elemanlarla karşılaştırıldığı ve uygun yere yerleştirildiği bir sıralama algoritmasıdır. Listenin ilk elemanı, zaten sıralanmış olarak kabul edilir. Daha sonraki elemanlar bir döngü içinde, listenin sıralı bölümüyle karşılaştırılır.
Örnek:
def insertion_sort(listem):
for i in range(1, len(listem)):
key = listem[i]
j = i-1
while j >=0 and key < listem[j] :
listem[j+1] = listem[j]
j -= 1
listem[j+1] = key
listem = [7, 3, 1, 9, 5]
insertion_sort(listem)
print(listem) #[1, 3, 5, 7, 9]
4. Bubble Sort (Kabarcık Sıralama)
Bu algoritma, iki elemanın karşılaştırması ile çalışır. Eğer bir eleman, diğerinden büyükse, yer değiştirilir. Bu işlem, tüm listedeki elemanlar sıralanana kadar devam eder. Her yeni turda bir eleman az kontrol edilerek, zaman açısından maliyetsiz olsa da diğer sıralama algoritmalarına göre düşük bir performans sergiler.
Örnek:
def bubble_sort(listem):
n = len(listem)
for i in range(n):
for j in range(0, n-i-1):
if listem[j] > listem[j+1]:
listem[j], listem[j+1] = listem[j+1], listem[j]
listem = [7, 3, 1, 9, 5]
bubble_sort(listem)
print(listem) #[1, 3, 5, 7, 9]
5. Merge Sort (Birleştirme Sıralaması)
Bu algoritma, bir listenin ortadan ikiye bölünmesi ve her iki parçanın ayrı ayrı sıralanmasıyla çalışır. Sonra, parçalar tekrar birleştirilir. Bu işlem tekrar edilerek, (sıfır veya birden fazla eleman içeren) parçalar birleştirilir ve tamamen sıralanmış bir liste oluşur. Merge Sort, diğer sıralama algoritmalarına göre daha stabil bir yapıya sahiptir.
Örnek:
def merge_sort(listem):
if len(listem) >1:
orta = len(listem)//2
sol = listem[:orta]
sag = listem[orta:]
merge_sort(sol)
merge_sort(sag)
i = j = k = 0
while i < len(sol) and j < len(sag):
if sol[i] < sag[j]:
listem[k] = sol[i]
i += 1
else:
listem[k] = sag[j]
j += 1
k += 1
while i < len(sol):
listem[k] = sol[i]
i += 1
k += 1
while j < len(sag):
listem[k] = sag[j]
j += 1
k += 1
listem = [7, 3, 1, 9, 5]
merge_sort(listem)
print(listem) #[1, 3, 5, 7, 9]
Sık Sorulan Sorular
1. Listelerde kapasiteyi nasıl artırabilirim?
Listelere öğe eklenirken, Python otomatik olarak kapasiteyi artırır. Kapasite artışı, açık bir liste uzunluğu gerektiğinde otomatik olarak gerçekleştirilir.
2. Listelerde elemanları çıkış sırasına göre nasıl yazdırabilirim?
Listedeki elemanların çıkış sırasına göre yazdırmanız için, öncelikle her elemanın çıkışını ayrı ayrı yazdırmanız gerekir. Bunun için, listenin öğelerini dolaşan bir döngü oluşturmanız ve her öğe için print() fonksiyonunu kullanmanız gerekir.
Örnek:
listem = [7, 3, 1, 9, 5]
for i in listem:
print(i)
3. Liste, küme ve demet arasındaki fark nedir?
Listeler, kumeler ve demetler (tuple), Python'da sıklıkla kullanılan veri yapılarıdır. Liste, programlama dilinde bir veri yapısıdır ve birden fazla veri elemanını bir arada tutmak için kullanılır. Listeler değiştirilebilir, yani listeleri eklemek, çıkarmak, düzenlemek gibi işlemleri gerçekleştirebilirsiniz.
Kümeler, unique (benzersiz) elemanlardan oluşan bir veri yapısıdır. Yani kümeler içinde aynı öğe birden fazla olamaz. Kumeler de değiştirilebilir, yani ekleme, çıkarma ve düzenleme yapabilirsiniz.
Demetler, birden fazla öğeden oluşan bir veri yapısıdır ancak değiştirilemezler. Demetler, verilerin sıralanması gerektiğinde kullanılırlar.
Listeler, programlama dillerinde sıklıkla kullanılan veri yapılarından biridir. Bu yapı, birden çok veri elemanını bir arada tutarak, elemanlara erişim ve düzenleme işlemlerinin yapılmasına olanak sağlar. Bu yazıda, Python programlama dilinde kullanılan listeler ve ilgili algoritmalar hakkında bilgiler paylaşacağım.
Python’da Listeler
Python, listeleri özellikle kullanıcılarının kolay anlayabilmesi ve kullanabilmesi için geliştirilmiş bir programlama dilidir. Listeler, pythonda veri tipi list ile ifade edilirler. Listeler, köşeli parantezler [ ] içine alınır ve virgül ile ayrılmış elemanlar ile tanımlanırlar.
Örnek:
listem = [1, 3, 5, 7, 9]
Listelerde erişim, dilimleme ve çeşitli işlemler yapmak için birçok fonksiyon bulunmaktadır. İşte, Python listeleri hakkında bazı örnekler.
Örnekler
1. Listelerin Elemanlarına Erişme
Listelerde, her elemanın konumu bir sıfırdan başlayarak sayılmaktadır. İlk eleman 0 sıra numarasına sahipken, son elemanın sıra numarası listedeki eleman sayısından bir azdır.
listem = [1, 3, 5, 7, 9]
İlk elemanı yazdırmak için;
print(listem[0]) #1
İkinci elemanı yazdırmak için;
print(listem[1]) #3
Son elemanı yazdırmak için;
print(listem[4]) #9
2. Dilimleme
Listelerde, bir veya birkaç elemanın alt kümesini ayırmak için dilimleme yöntemi kullanılır. Listelerin elemanlarını bir aralıkla belirterek, o aralıktaki elemanların listesini alabiliriz.
listem = [1, 3, 5, 7, 9]
İlk iki elemanı dilimleme yöntemiyle almamız için, aşağıdaki şekilde hareket ediyoruz:
print(listem[0:2]) #[1, 3]
3. Eleman Ekleme
Listelere eleman eklemek için append() fonksiyonunu kullanabiliriz. Bu fonksiyon, listelere yeni eleman eklemek için kullanılır.
listem = [1, 3, 5, 7, 9]
listem.append(11)
print(listem) #[1, 3, 5, 7, 9, 11]
4. Eleman Silme
Listelerden bir eleman silmek için remove() fonksiyonunu kullanabiliriz. Bu fonksiyon, belirtilen elemanı listeden siler.
listem = [1, 3, 5, 7, 9]
listem.remove(3)
print(listem) #[1, 5, 7, 9]
5. Elemanları Sıralama
Listeleri sıralamak için, sort() fonksiyonunu kullanabiliriz. Bu fonksiyon, listelerin elemanlarını küçükten büyüğe veya büyükten küçüğe sıralamak için kullanılır.
listem = [7, 3, 1, 9, 5]
listem.sort()
print(listem) #[1, 3, 5, 7, 9]
6. Listeleri Birleştirme
Birden fazla listeyi birleştirmek için, extend() fonksiyonunu kullanabiliriz. Bu fonksiyon, listenin sonuna başka bir listedeki elemanları ekleyerek birleştirir.
listem1 = [1, 3, 5]
listem2 = [7, 9, 11]
listem1.extend(listem2)
print(listem1) #[1, 3, 5, 7, 9, 11]
Yukarıdaki örnekler, Python programlama dilinde kullanılan listelerin nasıl tanımlandığını, elemanlarına erişildiğini, eklendiğini, silindiğini ve birleştirildiğini açıklamaktadır.
Veri Yapıları İle Algoritmalar: Liste Algoritmaları
Listeler, programlama dillerinde birçok algoritmanın yapımında kullanılır. Bu algoritmalardan bazıları aşağıda yer almaktadır:
1. Linear Search (Lineer Arama)
Bu algoritma, listedeki her elemanın kontrol edilmesiyle çalışır. Aranan öğe bulunana kadar, listede ilerlemeye devam edilir. Bu algoritma, sıralanmış veya sıralanmamış listelerde kullanılabilir.
Örnek:
def linear_search(listem, aranacak_eleman):
for i in range(len(listem)):
if listem[i] == aranacak_eleman:
return \"Eleman bulundu.\"
return \"Eleman bulunamadı.\"
listem = [1, 3, 5, 7, 9]
print(linear_search(listem, 3)) #\"Eleman bulundu.\"
print(linear_search(listem, 6)) #\"Eleman bulunamadı.\"
2. Binary Search (İkili Arama)
Bu algoritma, sıralanmış bir listede çalışır. Listenin orta elemanı ile aranan öğe karşılaştırılır. Eğer aranan öğe, orta elemandan küçükse, listenin sol yarısı seçilir. Aksi takdirde, listenin sağ yarısı seçilir. Bu işlem aranan öğe bulunana kadar devam eder.
Örnek:
def binary_search(listem, aranacak_eleman):
sol = 0
sag = len(listem)-1
while sol <= sag:
orta = (sol + sag)//2
if listem[orta] == aranacak_eleman:
return \"Eleman bulundu.\"
elif listem[orta] < aranacak_eleman:
sol = orta + 1
else:
sag = orta - 1
return \"Eleman bulunamadı.\"
listem = [1, 3, 5, 7, 9]
print(binary_search(listem, 3)) #\"Eleman bulundu.\"
print(binary_search(listem, 6)) #\"Eleman bulunamadı.\"
3. Insertion Sort (Eklemeli Sıralama)
Bu algoritma, her elemanın kendinden önceki elemanlarla karşılaştırıldığı ve uygun yere yerleştirildiği bir sıralama algoritmasıdır. Listenin ilk elemanı, zaten sıralanmış olarak kabul edilir. Daha sonraki elemanlar bir döngü içinde, listenin sıralı bölümüyle karşılaştırılır.
Örnek:
def insertion_sort(listem):
for i in range(1, len(listem)):
key = listem[i]
j = i-1
while j >=0 and key < listem[j] :
listem[j+1] = listem[j]
j -= 1
listem[j+1] = key
listem = [7, 3, 1, 9, 5]
insertion_sort(listem)
print(listem) #[1, 3, 5, 7, 9]
4. Bubble Sort (Kabarcık Sıralama)
Bu algoritma, iki elemanın karşılaştırması ile çalışır. Eğer bir eleman, diğerinden büyükse, yer değiştirilir. Bu işlem, tüm listedeki elemanlar sıralanana kadar devam eder. Her yeni turda bir eleman az kontrol edilerek, zaman açısından maliyetsiz olsa da diğer sıralama algoritmalarına göre düşük bir performans sergiler.
Örnek:
def bubble_sort(listem):
n = len(listem)
for i in range(n):
for j in range(0, n-i-1):
if listem[j] > listem[j+1]:
listem[j], listem[j+1] = listem[j+1], listem[j]
listem = [7, 3, 1, 9, 5]
bubble_sort(listem)
print(listem) #[1, 3, 5, 7, 9]
5. Merge Sort (Birleştirme Sıralaması)
Bu algoritma, bir listenin ortadan ikiye bölünmesi ve her iki parçanın ayrı ayrı sıralanmasıyla çalışır. Sonra, parçalar tekrar birleştirilir. Bu işlem tekrar edilerek, (sıfır veya birden fazla eleman içeren) parçalar birleştirilir ve tamamen sıralanmış bir liste oluşur. Merge Sort, diğer sıralama algoritmalarına göre daha stabil bir yapıya sahiptir.
Örnek:
def merge_sort(listem):
if len(listem) >1:
orta = len(listem)//2
sol = listem[:orta]
sag = listem[orta:]
merge_sort(sol)
merge_sort(sag)
i = j = k = 0
while i < len(sol) and j < len(sag):
if sol[i] < sag[j]:
listem[k] = sol[i]
i += 1
else:
listem[k] = sag[j]
j += 1
k += 1
while i < len(sol):
listem[k] = sol[i]
i += 1
k += 1
while j < len(sag):
listem[k] = sag[j]
j += 1
k += 1
listem = [7, 3, 1, 9, 5]
merge_sort(listem)
print(listem) #[1, 3, 5, 7, 9]
Sık Sorulan Sorular
1. Listelerde kapasiteyi nasıl artırabilirim?
Listelere öğe eklenirken, Python otomatik olarak kapasiteyi artırır. Kapasite artışı, açık bir liste uzunluğu gerektiğinde otomatik olarak gerçekleştirilir.
2. Listelerde elemanları çıkış sırasına göre nasıl yazdırabilirim?
Listedeki elemanların çıkış sırasına göre yazdırmanız için, öncelikle her elemanın çıkışını ayrı ayrı yazdırmanız gerekir. Bunun için, listenin öğelerini dolaşan bir döngü oluşturmanız ve her öğe için print() fonksiyonunu kullanmanız gerekir.
Örnek:
listem = [7, 3, 1, 9, 5]
for i in listem:
print(i)
3. Liste, küme ve demet arasındaki fark nedir?
Listeler, kumeler ve demetler (tuple), Python'da sıklıkla kullanılan veri yapılarıdır. Liste, programlama dilinde bir veri yapısıdır ve birden fazla veri elemanını bir arada tutmak için kullanılır. Listeler değiştirilebilir, yani listeleri eklemek, çıkarmak, düzenlemek gibi işlemleri gerçekleştirebilirsiniz.
Kümeler, unique (benzersiz) elemanlardan oluşan bir veri yapısıdır. Yani kümeler içinde aynı öğe birden fazla olamaz. Kumeler de değiştirilebilir, yani ekleme, çıkarma ve düzenleme yapabilirsiniz.
Demetler, birden fazla öğeden oluşan bir veri yapısıdır ancak değiştirilemezler. Demetler, verilerin sıralanması gerektiğinde kullanılırlar.
*256 Bit SSL Sertifikası * Full Mobil Uyumlu * Full SEO Uyumlu
İsterseniz Mobil Uygulama Seçeneğiyle