Lambda Fonksiyonlarının Gelişmiş Kullanımları ve Örnekler

Lambda Fonksiyonlarının Gelişmiş Kullanımları ve Örnekler

Bu yazıda, Python dilinin güçlü araçlarından biri olan lambda fonksiyonlarının gelişmiş kullanım örneklerine ve Map ve Filter fonksiyonlarıyla birleştirildiğinde ne kadar faydalı olduğuna değinilmektedir Map fonksiyonu, listedeki her elemana bir işlem uygulayarak yeni bir liste oluştururken, Filter fonksiyonu belirli bir koşulu sağlayan elemanları bir liste ile geri döndürür Lambda fonksiyonları ile birleştirildiklerinde, veri işleme işlemleri oldukça hızlı ve etkili bir şekilde gerçekleştirilebilir Ayrıca, lambda fonksiyonları birden çok liste kullanarak farklı işlemler yapmak için de kullanılabilirler

Lambda Fonksiyonlarının Gelişmiş Kullanımları ve Örnekler

Lambda fonksiyonları, Python dilinde oldukça kullanışlı ve güçlü araçlardan biridir. Yalnızca birkaç karakterle bir fonksiyon tanımlamak mümkündür ve bu fonksiyonları sadece tek seferlik kullanımlar için tasarlamak çoğu zaman daha mantıklıdır. Bu yazıda, Lambda fonksiyonlarının gelişmiş kullanım örneklerine değineceğiz.

Lambda fonksiyonlarının kullanımı, özellikle Map, Filter, Sorted, Max ve Min fonksiyonlarıyla birleştirildiğinde oldukça faydalıdır. Bu fonksiyonlar, Lambda fonksiyonları ile birlikte kullanıldığında, oldukça esnek ve güçlü bir araç haline gelir. Bu yazı, bu fonksiyonların daha gelişmiş kullanım örneklerini göstererek, Python dilinde Lambda fonksiyonlarının ne kadar kullanışlı bir araç olduğunu sergileyecektir.


Map ve Filter Fonksiyonları

Map ve Filter fonksiyonları, lambda fonksiyonlarıyla birleştirildiklerinde oldukça güçlü bir programlama aracı haline gelmektedir. Map fonksiyonu, bir liste üzerinde gezinerek her bir elemana bir işlem uygulayarak geri döndürür. Filter fonksiyonu ise bir liste üzerinde gezinerek belirli bir koşulu sağlayan elemanları geri döndürür.

Lambda fonksiyonları ile kullanılan Map ve Filter fonksiyonları arasındaki farklılıklar, işlemlerin ne zaman gerçekleştirildiğinde ortaya çıkar. Map fonksiyonu, bir listenin her elemanına işlem uygular ve yeni bir liste ile geri döndürür. Filter fonksiyonu ise, koşulu sağlayan elemanları bir liste ile geri döndürür.

Örneğin, bir sayılar listesi üzerinde gezinerek her elemanın karesini almak için lambda fonksiyonu kullanarak Map fonksiyonunu kullanabilirsiniz. Aynı şekilde, bir kelime listesi üzerinde gezinerek belirli bir koşulu sağlayan kelimeleri bulmak için lambda fonksiyonu ile Filter fonksiyonunu kullanabilirsiniz.

Map Fonksiyonu Filter Fonksiyonu
Bir liste üzerinde gezinerek her elemana bir işlem uygular ve yeni bir liste ile geri döndürür Bir liste üzerinde gezinerek belirli bir koşulu sağlayan elemanları bir liste ile geri döndürür.
Kullanımı: map(lambda x: x**2, numbers) Kullanımı: filter(lambda x: x > 5, numbers)

Map ve Filter fonksiyonları, birlikte kullanılarak çok daha fonksiyonel hale gelebilir. Örneğin, bir liste üzerinde gezinerek belirlenen koşullara uyan elemanların karesini alma işlemi Filter fonksiyonu ile gerçekleştirilebilir ve bu işlemin sonucu Map fonksiyonu ile yeni bir liste olarak döndürülebilir.

Bu şekilde, lambda fonksiyonlarının gücü ile birleştirilen Map ve Filter fonksiyonları ile veri işleme işlemleri oldukça hızlı ve etkili bir şekilde gerçekleştirilebilir.


Map Fonksiyonu

Map fonksiyonu, bir liste üzerinde bir işlem uygulamak için kullanılır ve lambda fonksiyonu ile birleştirildiğinde oldukça kullanışlı hale gelir. Map fonksiyonunu kullanırken, liste elemanları üzerinde bir işlem yürütmek için bir lambda fonksiyonu oluşturmamız gerekir. Map fonksiyonu, işlem sonucunu yeni bir liste içinde saklar ve ilk liste ile aynı boyutta bir liste oluşturur.

Bu işlem için, öncelikle bir liste oluşturmamız gerekir. Örneğin, [2, 4, 6, 8, 10] listesi üzerinde işlem yapmak istediğimizi düşünelim. Bu liste elemanlarının hepsini 3 ile çarpmak istiyoruz. Bu işlem için oluşturacağımız lambda fonksiyonu şu şekildedir:

l = [2, 4, 6, 8, 10] new_list = map(lambda x: x*3, l) print(list(new_list))

Bu kod bloğu sonucunda, 6, 12, 18, 24 ve 30 değerlerini içeren yeni bir liste oluşturulur. Bu örnekte, map fonksiyonu yardımıyla lambda fonksiyonu kullanarak, 5 elemandan oluşan bir listede bulunan her bir elemanı 3 ile çarpıyoruz.

Bir diğer örnek ise, bir liste içindeki tüm elemanları kelimelere dönüştürmek istediğimizi düşünelim. Bu durumda, lambda fonksiyonunu şu şekilde oluşturabiliriz:

l = [2, 4, 6, 8, 10] new_list = map(lambda x: str(x), l) print(list(new_list))

Bu kod bloğu sonucunda, ["2", "4", "6", "8", "10"] değerleri içeren bir yeni liste oluşturulur. Bu örnekte, map fonksiyonu yardımıyla lambda fonksiyonu kullanarak, bir tamsayı listesi elemanlarını kelimelere dönüştürmeyi başardık.


Örnek 1: Liste Elemanlarına İşlem Uygulama

Python programlama dilinde, lambda fonksiyonları ile birlikte map fonksiyonu kullanarak, bir listenin tüm elemanlarında belirli bir işlemin yapılması mümkündür. Bu işlemi yapabilmek için öncelikle bir lambda fonksiyonu oluşturulup, bu fonksiyon kullanılarak map fonksiyonu çağrılır.

Örneğin, aşağıdaki kod bloğu bir listenin tüm elemanlarına iki katını almak için lambda fonksiyonu ve map fonksiyonunu kullanarak işlem yapar:

    numbers = [1, 2, 3, 4, 5]    doubled = list(map(lambda x: x*2, numbers))    print(doubled)

Bu kod bloğu, numbers listesindeki tüm elemanların iki katını alarak yeni bir liste olan doubled listesine atar ve bu listeyi ekrana yazdırır. Bu işlemi yaparak, bir listenin tüm elemanlarına belirli bir işlemi uygulayabilirsiniz.


Örnek 2: Birden Çok Liste Kullanarak İşlem Yapma

Lambda fonksiyonları, birden çok liste kullanarak işlem yapmak için de kullanılabilirler. Bu yöntemi kullanarak, farklı listelerdeki elemanları birleştirebilir ve çeşitli işlemler yapabilirsiniz. Örneğin, iki farklı listeyi birleştirerek tüm elemanların toplamını bulabilirsiniz.

Aşağıdaki örnekte, iki farklı listenin elemanlarını birleştirerek toplamlarını bulacağız:

!pythonfrom functools import reduce

list1 = [1, 2, 3]list2 = [4, 5, 6]

total = reduce((lambda x, y: x + y), list1 + list2)

print(total)

Yukarıdaki kodda, reduce ve lambda fonksiyonu kullanarak iki farklı listenin elemanlarını birleştirerek toplamlarını buluyoruz. İlk olarak, reduce() fonksiyonu iki listenin elemanlarını birleştirerek tek bir liste oluşturur. Daha sonra, lambda fonksiyonu, bu yeni listeyi kullanarak tüm elemanların toplamını hesaplar.

Bu örnekte, reduce() fonksiyonunun kullanılması, işlemi daha da basitleştirdi. reduce() fonksiyonu, belirli bir işlemi, listenin her bir elemanına uygular ve sonuçları bir sonraki işlemde kullanarak son sonucu döndürür. Bu sayede, tüm elemanlar tek tek işleme alınmak yerine, birleştirilerek işlem yapılır.


Filter Fonksiyonu

Python'da lambda fonksiyonları, filtrelemek istediğimiz bir listenin elemanlarını belirli koşullar altında eleme işlemi yapmak için kullanılır. Bu işlem için kullanılan fonksiyonlardan biri de Filter fonksiyonudur. Filter() fonksiyonu, listenin her elemanını alır ve lambda ile belirlenen koşula göre True ya da False değerini döndürür. True değerleri, filtrelenmiş liste olarak yeni bir liste oluşturulur.

Örneğin, bir liste içerisindeki çift sayıları filtrelemek için aşağıdaki örneği kullanabilirsiniz:

num_listesi = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]filtrelenmis_liste = list(filter(lambda x: x % 2 == 0, num_listesi))print(filtrelenmis_liste) # Output: [2, 4, 6, 8, 10]

Yukarıdaki örnekte, num_listesi adında bir liste tanımlanmış ve lambda fonksiyonu kullanarak filtrelenmiş bir liste oluşturulmuştur. Lambda fonksiyonunda, x mod 2 işlemi gerçekleştirilerek çift sayılar True değeri dönecektir ve bu sayılar filtrelenmiş liste olarak yeni bir liste oluşturulacaktır.

Filter fonksiyonu, birden fazla liste kullanılarak da kullanılabilir. Aşağıdaki örnekte, iki farklı listeye göre filtreleme işlemi gerçekleştirilmektedir:

s1 = [1, 2, 3, 4, 5]s2 = [2, 3, 5, 7, 9]filtered_list = set(filter(lambda x: x in s1, s2))print(filtered_list) # Output: {2, 3, 5}

Yukarıdaki örnekte, s1 ve s2 adında iki farklı liste tanımlanmıştır. Sonrasında, lambda fonksiyonu kullanarak s2 listesindeki elemanların s1 listesinde de yer alıp almadığı kontrol edilmektedir. Bu kontrol sonucunda filtrelenmiş liste olarak bir set veri tipine eklenerek elde edilmiştir.

Filter fonksiyonu, özellikle büyük veri işlemlerinde sıkça kullanılmaktadır. Bu fonksiyon ile verilen koşullara uygun olarak filtrelenmiş liste oluşturarak, veri işlemlerinde büyük kolaylık sağlamaktadır.


Örnek 1: Filtreleme İşlemi

Bir liste içinde yer alan elemanların belirli bir kurala göre filtrelenmesi işlemi, çeşitli programlama dillerinde oldukça yaygın bir uygulama alanıdır. Python programlama dili de bu konuda oldukça esnek bir yapıya sahiptir ve Lambda fonksiyonlarını kullanarak Filter fonksiyonu ile liste elemanlarını filtrelemek oldukça kolaydır.

Bir örnek üzerinden açıklayacak olursak, bir sayılar listesi içerisinde yer alan 5'ten büyük elemanları bulmak istediğimizi varsayalım. Bunun için sadece bir kaç satırda gerçekleştirebileceğimiz bir kod bloğu yazabiliriz. Örneğin;

Örnek Kod Çıktı
sayilar = [2, 7, 3, 9, 5, 4, 1, 8] sonuc = list(filter(lambda x: x > 5, sayilar)) print(sonuc)
[7, 9, 8]

Gördüğünüz gibi, sadece 2 satırda bir listenin içinde yer alan elemanları filtremiş olduk. Burada filter fonksiyonu, bir liste içindeki elemanları belli bir koşula göre kontrol eder ve buna uygun olan elemanları yeni bir listeye ekler. Bu örnekte lambda fonksiyonu ise bu koşulu tanımlamaktadır. Yani, koşul olarak x > 5 ifadesini kullanarak 5'ten büyük olan elemanlarımızın listeye eklenmesini sağladık.


Örnek 2: Birden Çok Koşulu Filtreleme İşlemi

Lambda fonksiyonları, birçok farklı işlemde kullanılabilen çok yönlü fonksiyonlardır. Bu fonksiyonlar, Filter fonksiyonunda olduğu gibi birden çok koşulu filtreleme işlemini de gerçekleştirebilir. Bu örnekte, birden çok koşulu filtreleme yapmak için Lambda fonksiyonlarını nasıl kullanabileceğimizi öğreneceğiz.

Öncelikle, birden çok koşulu filtreleme işlemi için bir liste oluşturacağız. Bu liste, örneğimizde farklı renkleri içerecek. Ardından, Lambda fonksiyonunu kullanarak ilk koşulumuzu belirleyeceğiz. Bu örnekte, ilk koşulumuz "mavi" kelimesini içeren renklerin seçilmesi olacak.

```pythonrenkler = ["mavi", "yeşil", "sarı", "mor", "pembe", "turuncu"]filtrelenmis_renkler = filter(lambda x: "mavi" in x, renkler)```

Daha sonra, ikinci koşulumuzu da ekleyeceğiz. Bu örnekte, yeşil kelimesini içermeyen renklerin de seçilmesi için ikinci koşul olarak "yeşil" kelimesinin olmamasını belirleyeceğiz.

```pythonfiltrelenmis_renkler = filter(lambda x: "mavi" in x and "yeşil" not in x, renkler)```

Bu şekilde, birden çok koşulu filtreleme işlemini kolayca gerçekleştirebiliriz. Filtrelenmiş sonuçları daha sonra başka bir değişkene atayarak kullanabiliriz.

Ayrıca, örneğimizde birden çok koşulu filtreleme işlemini liste içindeki elemanların sayısına göre gerçekleştirdik. Fakat Lambda fonksiyonlarını kullanarak farklı koşullara göre de filtreleme işlemleri gerçekleştirebiliriz. Örneğin, bir sayı dizisi verildiğinde hem çift sayıları hem de 10'dan büyük olan sayıları filtreleyebiliriz.

```pythonsayilar = [2, 5, 14, 17, 21, 30, 35]filtrelenmis_sayilar = filter(lambda x: x % 2 == 0 and x > 10, sayilar)```

Bu şekilde, birden çok koşulu filtreleme işlemini herhangi bir yapı veya veri türü üzerinde gerçekleştirebilir ve istediğimiz sonuçları elde edebiliriz.

Sonuç olarak, Lambda fonksiyonlarını kullanarak birden çok koşulu filtreleme işlemleri gerçekleştirirken, belirlediğimiz koşulları doğru bir şekilde yazmak çok önemlidir. Ayrıca, Lambda fonksiyonlarının çok yönlü yapısını kullanarak farklı koşulları bir arada kullanarak, daha spesifik ve özelleştirilmiş filtreleme işlemleri yapabiliriz.


Sıralama Fonksiyonları

Lambda fonksiyonlarının sıralama fonksiyonları da oldukça işlevsel kullanımlara sahiptir. Sorted, Min ve Max fonksiyonları ile farklı işlemler yapılabilir. Sorted fonksiyonu, belirtilen listenin elemanlarını sıralamak için kullanılır. Bu fonksiyon, lambda fonksiyonu ile birlikte kullanıldığında daha fazla kontrol sağlanabilir. Örneğin, sayıları küçükten büyüğe sıralamak ya da alfabetik olarak sıralamak gibi.

Max fonksiyonu ise, bir listenin en büyük elemanını bulmak için kullanılır. Lambda fonksiyonu ile birlikte kullanıldığında ve birden fazla liste verildiğinde, birden fazla listenin en büyük elemanı bulunabilir. Min fonksiyonu ise, listenin en küçük elemanını bulmak için kullanılır. Lambda fonksiyonu ile birlikte kullanıldığında ve birden fazla liste verildiğinde, birden fazla listenin en küçük elemanı bulunabilir.

Sıralama fonksiyonları, liste işlemleri için oldukça kullanışlıdır. Sorted fonksiyonu bir listenin sıralanmasını sağlar, Max fonksiyonu listenin en büyük elemanını bulur ve Min fonksiyonu listenin en küçük elemanını bulur. Bu fonksiyonlar, lambda fonksiyonu ile birlikte kullanıldığında daha işlevsel hale gelir.


Sorted Fonksiyonu

Python dilinde 'Sorted' fonksiyonu, bir dizideki elemanları belirli bir sıraya göre yeniden düzenleme işlemi yapar. Listenin elemanlarını belirli bir sıraya veya belirli bir ölçüte göre sıralamak istediğimizde 'sorted' fonksiyonunu kullanabiliriz. 'Lambda' fonksiyonları ile birlikte kullanıldığında ise sıralama işlemi çok daha kolay hale gelir.

'Lambda' fonksiyonları yardımıyla 'Sorted' fonksiyonu, herhangi bir sıralama ölçütü için uygun bir şekilde yapılandırılabilir. Örneğin, bir dizideki sayıları küçükten büyüğe veya büyükten küçüğe doğru sıralamak için kullanılabilir. 'Sorted' fonksiyonu, listeler gibi iterable tipleri için üst düzey bir sıralama fonksiyonudur. Aynı zamanda, bir sıralama anahtarı fonksiyonu olarak işlev görebilir.

Parametre Açıklama
iterable Sıralama gerektiren herhangi bir iterable (list, tuple, vb.)
key (none) Sıralama için bir anahtar işlevi (function) sağlar.
reverse (False) Sıralamayı ters çevirir; Varsayılan olarak 'False' değerini alır.

Örnek 1: Sayıları Küçükten Büyüğe Sıralama

Aşağıdaki örnekte, 'sorted' fonksiyonu, bir lambda ifadesiyle birleştirilerek bir sayı listenin elemanlarını küçükten büyüğe doğru sıralar:

numbers = [2, 5, 1, 8, 3, 10]sorted_numbers = sorted(numbers, key=lambda x: x)print(sorted_numbers) #[1, 2, 3, 5, 8, 10]

Örnek 2: Listenin Elemanlarını Değişik Kriterlere Göre Sıralama

İlerleyen zamanlarda farklı sıralama kriterleri ihtiyacımız olabilir; Örneğin, bir sözlük dizisi içerisindeki elemanları alfabetik düzene, ya da bir sayı dizisi içerisindeki elemanları tek - çift sayı özelliklerine göre sıralamak ve bunların tersini almak isteyebiliriz. Yine 'sorted' fonksiyonu ve bir lambda ifadesi yardımıyla, Python bize bu işlemlerimizi kolaylaştırır:

words = ['apple', 'banana', 'clementine', 'orange', 'carrot']sorted_words = sorted(words, key=lambda x: x[0])print(sorted_words) # ['apple', 'banana', 'carrot', 'clementine', 'orange']numbers = [13, 22, 10, 57, 24, 33, 42]sorted_numbers = sorted(numbers, key=lambda x: (x%2, -x))print(sorted_numbers) # [10, 22, 24, 42, 57, 33, 13]

Yukarıdaki kodda, ilk örnekte 'x[0]' ifadesi, sözlük dizisi içerisindeki elemanları alfabetik olarak sıralar. İkinci örnekte ise 'x%2' ifadesi, sayı dizisi içerisindeki çift - tek sayılarına göre sıralayabilmemizi sağlar; '-x' ifadesi ise bu sıralamanın tersini almamızı sağlar.


Örnek 1: Sayıları Küçükten Büyüğe Sıralama

Sorted fonksiyonu, bir listenin elemanlarını belirli bir sıraya göre sıralamak için kullanılır. Sıralama işlemi, lambda fonksiyonu kullanılarak yapılabilir. Bu örnekte, sayıların küçükten büyüğe sıralanması örneği verilecektir.

Öncelikle bir liste tanımlanır ve içerisine rasgele sayılar eklenir:

Kod Çıktı
sayilar = [5, 2, 8, 1, 9, 3]

Listenin elemanları, sorted fonksiyonu kullanılarak küçükten büyüğe sıralanır:

Kod Çıktı
sirali_sayilar = sorted(sayilar)

Şimdi "sirali_sayilar" adlı liste, küçükten büyüğe doğru sıralanmıştır:

Kod Çıktı
print(sirali_sayilar)
[1, 2, 3, 5, 8, 9]

Bu örnek, sıralama işlemi için lambda fonksiyonu kullanmadı. Ama lambda ile de kullanılarak daha ileri seviyede bir işlem yapılabilir. Örneğin:

Kod Çıktı
sirali_sayilar = sorted(sayilar, key=lambda x: x)

Bu şekilde de sıralama işlemi yapılabilir. Bu örnekte, lambda fonksiyonu olarak "x" verildiği için herhangi bir fark görülmemektedir. Sıralama işlemi yine küçükten büyüğe doğru yapılmaktadır.

Bu örnek, lambda fonksiyonları ile sıralama işlemi konusunda fikir verebilir. Daha gelişmiş işlemler yapmak için lambda fonksiyonları detaylı şekilde incelenmelidir.


Örnek 2: Listenin Elemanlarını Değişik Kriterlere Göre Sıralama

Bu örnekte, Lambda fonksiyonlarını kullanarak bir listenin elemanlarını farklı kriterlere göre sıralayacağız. Sorted fonksiyonu ile birlikte kullanıldığında, lambda fonksiyonları listenin elemanlarını herhangi bir kritere göre sıralayabilir.Örneğin, bir dizi sayının listesi olsun:

sayilar = [5, 2, 1, 8, 4]

Artan sıraya göre sıralamak için, aşağıdaki lambda fonksiyonu ve Sorted fonksiyonunu kullanabiliriz:

sorted_sayilar = sorted(sayilar, key = lambda x: x)

Bu, sayıları küçükten büyüğe doğru sıralayacaktır. Ancak, eğer sayıları büyükten küçüğe doğru sıralamak istiyorsak, lambda fonksiyonunu aşağıdaki şekilde değiştirebiliriz:

sorted_sayilar = sorted(sayilar, key = lambda x: -x)

Sıralamayı farklı bir kritere göre yapmak istiyorsak, lambda fonksiyonunu değiştirerek de yapabiliriz. Örneğin, sayıların karelerine göre sıralamak istiyorsak:

sorted_sayilar = sorted(sayilar, key = lambda x: x**2)

Sonuç, şunun gibi bir liste olacaktır:

[1, 2, 4, 5, 8]

Gördüğünüz gibi, lambda fonksiyonlarının farklı kullanımları, listenin elemanlarını istediğimiz şekilde sıralamamıza olanak sağlar. Bu sayede, programlama dillerinde sıralama fonksiyonlarını daha rahat kullanabilir ve kodlarımızın performansını artırabiliriz. Bu örneği inceleyerek, lambda fonksiyonlarının sıralama fonksiyonlarıyla nasıl birlikte kullanılabileceğini öğrenebilirsiniz.

Max Fonksiyonu

Max fonksiyonu, bir listenin en büyük elemanı veya birden fazla sayı arasındaki en büyük olanını bulmak için kullanılır. Lambda fonksiyonu ile kullanıldığında ise, listenin veya sayıların özel koşullara göre en büyük elemanı bulunabilir.

Örneğin, aşağıdaki lambda fonksiyonu kullanarak bir listenin en büyük değerini bulabiliriz:

listem = [3, 8, 1, 10, 5, 9] en_buyuk = max(listem, key=lambda x:x) print(en_buyuk)

Burada, max fonksiyonu ile listem listesinin en büyük elemanını bulduk ve bunu en_buyuk değişkenine atadık. Lambda fonksiyonu olarak 'key=lambda x:x' kullandık, çünkü listenin elemanları sayılar olduğu için bu fonksiyon bize en büyük sayıyı verecektir.

Birden fazla listenin en büyük elemanını bulmak için ise, aşağıdaki örnekte olduğu gibi lambda fonksiyonunu kullanabiliriz:

listem_1 = [3, 8, 1, 10, 5, 9]listem_2 = [20, 15, 25, 18, 23]listem_3 = [50, 45, 60, 55, 58, 52, 54] en_buyuk = max(listem_1, listem_2, listem_3, key=lambda x:max(x)) print(en_buyuk)

Burada, max fonksiyonu ile listem_1, listem_2 ve listem_3 listelerinin en büyük elemanlarını karşılaştırdık ve bunların arasındaki en büyüğünü bulduk. Key olarak lambda fonksiyonu olarak 'key=lambda x:max(x)' kullandık, çünkü birden fazla listenin en büyük elemanını bulacağız.

Max fonksiyonu, özellikle büyük veri setleri üzerinde çalışırken çok faydalı olabilir. Ancak, lambda fonksiyonlarını doğru bir şekilde kullanmak önemlidir, aksi takdirde yanıltıcı sonuçlar elde edebilirsiniz.


Örnek 1: En Büyük Değer

Lambda fonksiyonlarından Max fonksiyonu, verilen listedeki en büyük sayıyı bulmak için kullanılır. Bu işlemi lambda fonksiyonu kullanarak yapabiliriz, öyleyse lambda fonksiyonu nasıl kullanılır? İşte size bir örnek:

İşlem Kod Sonuç
En büyük değeri bulma liste = [1, 4, 8, 3, 9, 2]
max_deger = lambda x: x if (x > y) else y
en_buyuk = functools.reduce(max_deger, liste)
9

Bu örnekte, verilen listenin en büyük değerini bulmak için reduce() fonksiyonunu kullandık. Lambda fonksiyonu (max_deger) iki argüman alır - birincisi geçerli maksimum değer, ikincisi ise listenin bir sonraki elemanıdır. Eğer sonraki eleman, geçerli maksimum değerden büyükse, sonraki elemanın değerini maksimum değer olarak kullanırız. Bunu, reduce() fonksiyonu aracılığıyla listedeki tüm elemanlar için tekrarlı bir şekilde yaparız. Sonuç olarak, en büyük değeri alırız.


Örnek 2: Birden Fazla Listenin En Büyük Elemanını Bulma

Lambda fonksiyonları, birden fazla listenin elemanlarını karşılaştırmak ve en büyük elemanı bulmak için de kullanılabilirler. Bu işlem için, önce bu listeleri içeren ana bir listeye ihtiyacımız vardır. Daha sonra, lambda fonksiyonu içinde, bir for döngüsü yardımıyla bu listelerdeki elemanları karşılaştırabiliriz.

Aşağıda, bu işlemi gerçekleştirebileceğimiz örnek kodu görebilirsiniz:

```liste1 = [1, 5, 9, 12, 15]liste2 = [3, 8, 11, 16, 20]liste3 = [2, 4, 7, 10, 19]

analist = [liste1, liste2, liste3]

en_buyuk = lambda anaListe: max([max(subListe) for subListe in anaListe])

print(en_buyuk(analist))```

Yukarıdaki örnek kodda, öncelikle üç farklı listemiz var ve bu listeleri içeren bir ana liste oluşturduk. Daha sonra, `max()` fonksiyonunu kullanarak, her bir alt listenin en büyük elemanını bulmak için bir `for` döngüsü içinde `max(subListe)` kodu yazıldı. Son olarak, ana listedeki tüm alt listeler için `max()` fonksiyonunu çağırarak, en büyük elemanı belirledik.

Bu örnek kod, `3` farklı listenin içinde yer alan en büyük elemanı belirlemek için kullanılabilir. Bu sayede, ana liste içinde yer alan tüm listeleri karşılaştırarak, en büyük elemanı kolayca belirleyebiliriz.

Yukarıdaki örnek kod, farklı veri tipleri için de uygulanabilir. Örneğin, string veya float veri tipleri içeren listeler de bu şekilde karşılaştırılabilir. Bu sayede, lambda fonksiyonlarının kullanım alanı oldukça genişletilebilir.


Min Fonksiyonu

Min fonksiyonu, bir listedeki en küçük değeri bulmak için kullanılır. Lambda fonksiyonları ile de kullanımı hayatımızı oldukça kolaylaştırır. Ayrıca, birden fazla listenin en küçük elemanını bulmak için de kullanılabilir.

İlk örneğimizde, Min fonksiyonu lambda fonksiyonu ile kullanarak bir listenin en küçük değerini bulacağız. Aşağıdaki örnekte, lambda fonksiyonu, listedeki en küçük değeri bulmak için kullanılacak ve sonucu ekrana yazdıracaktır.

    numbers = [5, 3, 8, 10, 2]    smallest_num = min(numbers, key=lambda x: x)    print("Listenin en küçük değeri:", smallest_num)

Bu örnekte, lambda fonksiyonu, listedeki her bir elemanı birer birer kontrol eder ve en küçük olanı seçer. Burada 'x' kelimesi her bir elemanı ifade eder. key parametresi, lambda fonksiyonunu elemanları karşılaştırmak için kullanır.

İkinci örneğimizde, birden fazla listenin en küçük elemanını bulmak için Min fonksiyonu kullanarak bir lambda fonksiyonu oluşturacağız. Aşağıdaki örnekte, "zip" fonksiyonu kullanılarak birden fazla listeyi birleştireceğiz ve sonra Min fonksiyonunu kullanarak en küçük değeri bulacağız.

    list1 = [10, 20, 30]    list2 = [15, 25, 35]    list3 = [8, 18, 28]    smallest_num = min(zip(list1, list2, list3), key=lambda x: min(x))    print("Toplam en küçük değer:", smallest_num)

Bu örnekte, zip() fonksiyonu, üç farklı listenin elemanlarını birleştirir. İlk eleman her bir listenin ilk elemanıdır, ikinci eleman her bir listenin ikinci elemanıdır ve böyle devam eder. Daha sonra, lambda fonksiyonu, her bir 'grup'taki en küçük değeri bulmak için tekrar Min fonksiyonunu kullanır.


Örnek 1: Listenin En Küçük Değerini Bulma

Bu örnekte, Lambda fonksiyonları kullanılarak Min fonksiyonu ile listenin en küçük değeri bulunacaktır. Min fonksiyonu, verilen argümanların en küçüğünü döndürür. Lambda fonksiyonu ise, tek satırda tanımlanabilen ve genellikle anonim olarak kullanılan bir fonksiyondur. Bu örnekte, bir lambda fonksiyonu kullanarak Min fonksiyonunun çalışması sağlanacak.

Öncelikle, bir liste belirlenir ve lambda fonksiyonu ile Min fonksiyonu kullanacak bir kod yazılır:

Kod:liste = [5, 23, 18, 99, 8, 12]
min_deger = lambda x: min(x)
print(min_deger(liste))

Yukarıdaki kodda, lambda fonksiyonu "min_deger" adı altında tanımlanır. "x" parametresi, listenin elemanlarını belirtir. 'min(x)' ifadesi en küçük değeri döndürür. "min_deger" fonksiyonunu kullanarak, listenin en küçük değeri "print" ifadesiyle ekrana yazdırılır.

Bu örnek, lambda fonksiyonlarının listenin en küçük değerini bulmak gibi günlük kullanımlar için nasıl kullanılabileceğini gösterir.


Örnek 2: Birden Fazla Listenin En Küçük Elemanını Bulma

Lambda fonksiyonları, Python'da oldukça kullanışlıdır ve birçok işlemi kolayca yapmamıza olanak tanır. Özellikle birden fazla listeden en küçük veya en büyük elemanı bulma işleminde lambda fonksiyonları oldukça kullanışlıdır.

Birden fazla listeden en küçük elemanı bulmak için, öncelikle bu listeleri ayrı ayrı birleştirmemiz gerekiyor. Bunun için list.extend() fonksiyonu kullanılır. Ardından, bu listenin en küçük elemanını bulmak için min() fonksiyonu kullanılır.

Aşağıdaki örnekte, 3 farklı listemiz var ve bu listeleri tek bir liste haline getiriyoruz. Daha sonra, min() fonksiyonunu kullanarak listenin en küçük elemanını buluyoruz.

Liste 1 Liste 2 Liste 3
5 9 17
7 14 6
3 8 11

liste1 = [5, 7, 3]
liste2 = [9, 14, 8]
liste3 = [17, 6, 11]
birlesikListe = []
birlesikListe.extend(liste1)
birlesikListe.extend(liste2)
birlesikListe.extend(liste3)
enKucuk = min(birlesikListe)

Bu örnek, birden fazla listeden en küçük elemanı bulmak için lambda fonksiyonlarını kullanmanın basit bir örneği olabilir. Lambda fonksiyonlarının kullanımı, bu tür işlemleri daha küçük ve okunması kolay bir kodla gerçekleştirmemize olanak tanır.