İPUCU

Python Artificial Intelligence’da en çok kullanılan dildir ve gerekli dökümanların paylaşım alanlar burada paylaşılmaktadır.

Seçenekler

Python - Lambda Fonksiyonları - ihan3t

ihan3t - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
02/2012
Mesajlar:
5.005
Konular:
255
Teşekkür (Etti):
291
Teşekkür (Aldı):
1833
Ticaret:
(0) %
15-04-2017 03:30
#1
Python - Lambda Fonksiyonları - ihan3t
Merhabalar, bu yazımda pythonda oldukça kullanılan lambda fonksiyonlarından ve amaçlarından bahsedeceğim..

Şimdi diyelimki elimizde bir liste mevcut ve biz bunun üstünde işlemler yapmak istiyoruz. Belirli filtrelerden geçirmek, her elemana ayrı ayrı işlem uygulamak, sonra bunları ayrı bir listede toplamak..

Lambda kullanmadan bunu nasıl yapacağımızı görelim :

Kod:
liste = [1,2,3,4,5,6]
yeniListe = []
for sayi in liste:
    if sayi%2 != 0
        sayi = sayi * 2
        yeniListe.append(sayi)

print yeniListe
Şimdi bunu birde lambda fonksiyonlarıyla yazalım :

Kod:
liste = [1,2,3,4,5,6]
print map(lambda sayi: sayi*2 ,filter(lambda sayi: sayi % 2 != 0, list(x for x in liste)))
ilk bakışta biraz karışık gözüksede aslında çok kolay bir işlem. Parça parça açıklayayım en iyisi.

Şimdi öncelikli amacımız listedeki sayılardan tek olanları bulmak. Bu işlemi şu kod parçacığı yapıyor :

Kod:
filter(lambda sayi: sayi % 2 != 0, list(x for x in liste))
Filter fonksiyonu iki parametre alıyor, birincisi lambda fonksiyonu, ikincisi iterable bir nesne. Sağdaki parametreye soldaki işlemi uyguluyor ve geriye bir liste döndürüyor.

Tek olan sayıları bulduktan sonra, bu sayıları 2 ile çarpacağız. Bu işlemi de şurada yapıyoruz :

Kod:
map(lambda sayi: sayi*2 ,filter(lambda sayi: sayi % 2 != 0, list(x for x in liste)))
Bu metod aynı filter metodu gibi iki parametre alıyor, ilki lambda fonksiyonu ikincisi iterable bir nesne.
Bakın metodun ikinci parametresi aslında filter metodundan dönen liste.

Hepsini birleştirdiğimizde 5 satırda yaptığımız işlemi tek satırda yapıyoruz. Fakat tek amacı satır sayısını azaltmak değil. Map-Reduce işlemlerinde sıkça kullanılır.

Lambda fonksiyonlarını yazmaya alıştırırsanız oldukça kolaylıklar elde edersiniz.

Herkese iyi forumlar, ihan3t..

---------------------
Computer Engineer.

Senior Software Engineer.
RageUnseen, callousclown, bsknt06 Teşekkür etti.
Mottatoni - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2017
Nereden:
root@kali:
Yaş:
29
Mesajlar:
620
Konular:
22
Teşekkür (Etti):
89
Teşekkür (Aldı):
93
Ticaret:
(0) %
15-04-2017 05:44
#2
Eline sağlık görsel olarak anlatım yapsan çok daha güzel olur çünkü herkesin yaptığı okumadan yorum atmak oluyor emeğine yazık oluyor
---------------------
///Mottatoni
KurokoTetsuya - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
04/2015
Nereden:
SGA
Yaş:
20
Mesajlar:
5.057
Konular:
281
Teşekkür (Etti):
2328
Teşekkür (Aldı):
1551
Ticaret:
(0) %
15-04-2017 08:25
#3
Eline sağlık abi.
--------------------- Zira bir Adana adliyesi gibi yoğunum bro
Folyx - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2017
Mesajlar:
1.963
Konular:
97
Teşekkür (Etti):
205
Teşekkür (Aldı):
163
Ticaret:
(0) %
15-04-2017 09:26
#4
eline sağlık
ihan3t - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
02/2012
Mesajlar:
5.005
Konular:
255
Teşekkür (Etti):
291
Teşekkür (Aldı):
1833
Ticaret:
(0) %
15-04-2017 14:17
#5
Alıntı:
Mottatoni´isimli üyeden Alıntı Mesajı göster
Eline sağlık görsel olarak anlatım yapsan çok daha güzel olur çünkü herkesin yaptığı okumadan yorum atmak oluyor emeğine yazık oluyor
Ne gibi görsel dostum, açıklarsan belki eklerim bundan sonra.
---------------------
Computer Engineer.

Senior Software Engineer.
KurokoTetsuya - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
04/2015
Nereden:
SGA
Yaş:
20
Mesajlar:
5.057
Konular:
281
Teşekkür (Etti):
2328
Teşekkür (Aldı):
1551
Ticaret:
(0) %
15-04-2017 14:24
#6
Alıntı:
Mottatoni´isimli üyeden Alıntı Mesajı göster
Eline sağlık görsel olarak anlatım yapsan çok daha güzel olur çünkü herkesin yaptığı okumadan yorum atmak oluyor emeğine yazık oluyor
Ortada Görsellik bir durum yok ki.
--------------------- Zira bir Adana adliyesi gibi yoğunum bro
Bertuğ Kağan - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
10/2015
Nereden:
sanal tomb
Mesajlar:
1.876
Konular:
183
Teşekkür (Etti):
592
Teşekkür (Aldı):
441
Ticaret:
(0) %
15-04-2017 14:25
#7
Eline sağlık hocam yararlı bir konu olmuş
King Kong - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2017
Mesajlar:
2.399
Konular:
153
Teşekkür (Etti):
158
Teşekkür (Aldı):
425
Ticaret:
(0) %
15-04-2017 14:26
#8
Ellerine Sağlık Abi Üstad
Mottatoni - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2017
Nereden:
root@kali:
Yaş:
29
Mesajlar:
620
Konular:
22
Teşekkür (Etti):
89
Teşekkür (Aldı):
93
Ticaret:
(0) %
15-04-2017 16:06
#9
Alıntı:
ihan3t´isimli üyeden Alıntı Mesajı göster
Ne gibi görsel dostum, açıklarsan belki eklerim bundan sonra.
Ekran görüntüsü olabilir hocam
---------------------
///Mottatoni
Mottatoni - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2017
Nereden:
root@kali:
Yaş:
29
Mesajlar:
620
Konular:
22
Teşekkür (Etti):
89
Teşekkür (Aldı):
93
Ticaret:
(0) %
15-04-2017 16:07
#10
Alıntı:
KurokoTetsuya´isimli üyeden Alıntı Mesajı göster
Ortada Görsellik bir durum yok ki.
Yazdığımı tam okumamışsınız siz belli ki işte yukarda da bundan bahsettim görsel olunca ister istemez bakıyolar yazıyı okuyan yok
---------------------
///Mottatoni

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı