Map() fonksiyonu ile elimizdeki elemanların tümüne aynı işlemi uygulayabiliriz.
Mesela elimizdeki liste elamanlarının hepsinin karekökünü almak istiyoruz.
from math import sqrt liste=[4,9,16] sonuc=map(sqrt,liste) print(list(sonuc))
Kendi yazdığımız fonkisyonları da map fonkisyonu içerisinde kullanabiliriz.
map() fonksiyonuna birden fazla değer girebiliriz.
Aşağıdaki örnekte liste1 içindeki elamanların liste2 deki elamanlara göre üssünü aldım. 4 ün karesi, 3, ün küpü alındı. Ancak liste2 deki 6 değerine bir şey olmadı. Çünkü liste1 de 6 nın karşılığı yok.
from math import pow liste1=[4,3] liste2=[2,3,6] sonuc=map(pow,liste1,liste2) print(list(sonuc))

Zip() fonksiyonu ile iki listeyi birbiriyle demet olacak şekilde birleştirir.
liste1=["ahmet","ali","veli"] liste2=["malatya","kütahya","izmir"] birlestir=zip(liste1,liste2) print(list(birlestir))

for x,y in birlestir: print(x,y)

Reduce() fonksiyonu kendisine verilen ilk elamanı değer olarak alıp sonraki eleman ile işlem yapıp, tek bir eleman döndüren bir fonksiyondur.
Bu karışık 🙂 ifadeden sonra örnek verip anlatmaya çalışayım
Aşağıdaki örnekte önceki sayı ile sonraki sayıyı toplayan bir işlem yapalım
from functools import reduce sayi_listesi = [3,8,9,15,2] def toplama(x, y): return x + y sonuc = reduce(toplama, sayi_listesi) print(sonuc)
Burada öncelikle 3 ile 8 i toplar. Sonra 11 ile 9 u. Sonra 20 ile 15 i. Son olarak da 35 ile 2 yi toplar.
filter() fonksiyonu ile filtreleme yapabiliriz.
Mesela bir liste içerisindeki sayıların sadece çift olanlarını almak istiyoruz.
liste=[3,5,4,8,10,46,6] def kontrol(x): if(x%2==0): return True return False cift_sayilar=filter(kontrol,liste) print(list(cift_sayilar))

daha kısa yazılışı
liste=[3,5,4,8,10,46,6] def kontrol(x): return x%2==0
Diğer Kaynaklar
https://www.sinanerdinc.com/python-map-zip-reduce-filter-kullanimi
https://www.vikikod.com/detail/134/pythonda-filter-fonksiyonu