Python'da map() Fonksiyonu

by trustix


Eklenme Tarihi : 22 Aralık 2020 17:56 Views:     2498



Python'da Gömülü Fonksiyonlar

Python'da önceden tanımlanmış ve python çekirdeğinde bulunan birtakım fonksiyonlar vardır. Bu fonksiyonlar büyük oranda geliştiricilerin işini kolaylaştırmak için tanımlanmışlardır. Bunlardan biri de map fonskiyonudur.

 

Python'da map() Fonksiyonu Nedir?

map() fonksiyonu Python'da yer alan birçok gömülü fonksiyondan biridir. map() fonksiyonunun amacı bir iterasyon yapısındaki elemanların tümüne aynı işlemi uygulamaktır. Örneğin elimizde bir sınıftaki öğrenci isimlerinden oluşan bir liste olduğunu varsayalım. Bu listedeki her öğrencinin isminin kaç karakterden oluştuğunu bulmak istiyor isek kullanacağım fonksiyon map() fonksiyonudur. Benzer şekilde elimizde sayısal değerlerden oluşan bir liste olduğunu düşünelim. Bu listenin bir mağazadaki ürünlerin fiyatları olduğunu varsayıyoruz. Bütün ürünlere eşit oranda indirim ya da zam yapmak istersek kullanacağımız fonksiyon yine map() fonksiyonudur. Şimdi az önce verdiğimiz örnekleri kodlarımızı yazarak biraz daha somutlaştıralım.

 

# Python'da map() fonksiyonu Kullanımı

# Öncelikle isimlerden oluşan bir liste tanımlayalım

isimler = [
    'Kerem',
    'Melisa',
    'Eymen',
    'Yağmur',
    'Muhammed',
    'Eray',
    'Elizan'
    'Uğur',
    'Damla'
]

# Bu isimlerin kaç karakterden oluştuğu bulmak için de ayrıca bir fonksiyon tanımlıyoruz

def hesapla(isim):
    return len(isim)

# artık her iki fonksiyonumuzu da aktif bir şekilde kullanabiliriz.

"""
    map objelerinin içeriği direkt olarak yazdırılamadığı için
    fonksiyonu kullandıktan sonra map objemizi
    yazdırabilmek için tekrar bir liste yapısına
    dönüştürüyoruz.
"""
sonuc = map(hesapla,(isimler))
sonuc = list(sonuc)
print(sonuc)
"""
    Standart ascii tablosunda olmayan karakterler
    birden fazla karakter olduğu için
    Türkçe karakterlerden
    oluşan isimlerin uzunluğu
    farklı çıkmaktadır.
    Output:
    [5, 6, 5, 6, 8, 4, 10, 5]
"""

 

 

String ifadeleri içeren bir iterasyon yapısını map() fonskiyonunu kullanarak istediğimizi yapmış olduk. Benzer işlemi sayısal ifadeler ile de yapabileceğimizi daha önceden söylemiştik. Şimdi de bu örneğimizi inceleyelim.

# Python'da map() fonksiyonu Kullanımı

"""
    Bir mağazadaki ürünlerin fiyatlarından
    oluşan bir listeye sahip olduğumuzu düşünüyoruz.
    Amacımız bütün ürünlerde eşit oranda indirim yapmak.
"""

price = [
    15.2,
    17,
    10,
    22.9,
    16.5,
    7.7,
    11
]

"""
    Her ürüne %20 oranında indirim 
    yapabilmek için indirim adında bir fonksiyon tanımlıyoruz.
"""
def indirim(x):
    return x - ((x*20)/100)

sonuc = map(indirim, (price))
sonuc = list(sonuc)
print(sonuc)

# Output: [12.16, 13.6, 8.0, 18.32, 13.2, 6.16, 8.8]
  
 

 

map() Fonksiyonunu Lambda Fonksiyonu ile birlikte kullanmak

# Python'da map() fonksiyonu Kullanımı

"""
    map() fonksiyonu kullanıcı tanımlı fonksiyonlar ile
    birlikte kullanılabileceği gibi
    lambda fonksiyonları ile de kullanılabilir.
    Buradaki örneğimizde
    lambda fonksiyonu ile 1'den 10'a kadar olan
    sayıların karesini bulmak için birkaç satır kod yazıyoruz.
"""


test = map(lambda x: x * x, [*range(11)])
test = list(test)
print(test)
# Output: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
  
 

 





0

Yorum Formu

vikikod.com    © 2019