Ders-17: Python Map Fonksiyonu
Python Map Fonksiyonu
Map () fonksiyonu, yinelenebilir her öğe için belirtilen bir işlevi yürütür. Öğe işleve bir parametre olarak gönderilir.
Kullanımı:
Python Map Fonksiyonu : map(fonksiyon, yinelenen)
Parametre Değerleri:
Parameter | Description |
---|---|
fonksiyon | Her öğe için yürütülecek işlev. |
yinelenen | Bir dizi, koleksiyon veya yineleyici nesne. İstediğiniz kadar iterables gönderebilirsiniz, sadece işlevin her iterable için bir parametreye sahip olduğundan emin olun. |
Diyelim ki elimizde şöyle bir liste var:
liste = [1, 4, 5, 4, 2, 9, 10]
Amacımız bu liste içindeki her öğenin karesini hesaplamak. Bunun için şöyle bir yol izleyebiliriz:
for i in liste: print(i ** 2) 1 16 25 16 4 81 100
Böylece, istediğimiz gibi, bütün öğelerin karesini bulmuş olduk. Bu tür bir işlemi yapmanın bir başka yolu da map()
adlı bir gömülü fonksiyondan yararlanmaktır. Dikkatlice bakın:
>>> def karesi(n): ... return n ** 2 ...
Burada bir n sayısının karesini hesaplayan bir fonksiyon tanımladık. Şimdi bu fonksiyonu liste listesinin bütün öğeleri üzerine uygulayacağız:
>>> list(map(karesi, liste)) [1, 16, 25, 16, 4, 81, 100]
Örnek-1 :
def myfunc(a, b):
return a + b
x = map(myfunc, ('apple', 'banana', 'cherry'), ('orange', 'lemon', 'pineapple'))
print(list(x))
EKRAN ÇIKTISI:
['appleorange', 'bananalemon', 'cherrypineapple']
Bu örnekte myfunc isimli fonksiyonun 2 parametresi olduğu için map içerisinde iterables kısmında 2 ayrı liste vardır. Bu listelerin birisi a, diğeri ise b ye atanır ve fonksiyona gider. Sonuç olarak bu iki değer fonksiyon içerisine gidip toplanır. String değerler olduğu için yanyana eklenerek ayrı bir listeye aktarılır.
Örnek-2:
def toplama(n):
return n + n
no= (1, 2, 3, 4)
sonuç= map(toplama, no)
print(list(sonuç))
EKRAN ÇIKTISI:
[2, 4, 6, 8]
Bu örnekte no bir tuple yani demet ve içerisinde 4 adet sayı var. map(toplama, no) fonksiyonu herbir no tuple elemanı için toplama fonksiyonuna gider ve işlem yapar. Sonucu ekrana liste olarak yazdırırız.