Python ÖRNEKLER ile harita() işlevi
Python Map(), girdi olarak verilen bir yineleyicinin tüm öğelerine bir işlev uygular. Örneğin bir yineleyici bir liste, bir tanımlama grubu, bir küme, bir sözlük, bir dize olabilir ve yinelenebilir bir harita nesnesi döndürür. Python Map() yerleşik bir işlevdir.
Sözdizimi
map(function, iterator1,iterator2 ...iteratorN)
parametreler
İşte iki önemli
- işlev: Yineleyicide mevcut tüm öğelere uygulanacak, haritaya verilecek zorunlu bir işlev.
- yineleyici: Yinelenebilir zorunlu bir nesne. Bu bir liste, bir tanımlama grubu vb. olabilir. Map() işlevine birden fazla yineleyici nesne aktarabilirsiniz.
Geri dönüş değeri
Map() işlevi, verilen işlevi yineleyici içindeki tüm öğelere uygulayacak ve yinelenebilir bir harita nesnesi, yani bir demet, bir liste vb. döndürecektir.
Map() işlevi nasıl çalışır?
Map() işlevi, bir işlev ve yinelenebilir bir nesne olarak iki girdi alır. Map() işlevine verilen işlev normal bir işlevdir ve verilen yinelenebilir nesnede bulunan tüm değerler üzerinde yinelenir.
Örneğin, bir sayılar listeniz olduğunu ve sayıların her birinin karesini bulmak istediğinizi düşünün.
Çıktıyı alabilmek için verilen sayının karesini döndürecek fonksiyona ihtiyacımız var. Fonksiyon aşağıdaki gibi olacaktır:
def square(n): return n*n
Kareyi bulmak istediğimiz öğelerin listesi aşağıdaki gibidir:
my_list = [2,3,4,5,6,7,8,9]
Şimdi my_list'teki her bir öğenin karesini almak için map() python yerleşik fonksiyonunu kullanalım.
Son kod aşağıdaki gibidir:
def square(n): return n*n my_list = [2,3,4,5,6,7,8,9] updated_list = map(square, my_list) print(updated_list) print(list(updated_list))
Çıktı:
<map object at 0x0000002C59601748> [4, 9, 16, 25, 36, 49, 64, 81]
Map() fonksiyonunun çıktısı, çıktıda görüldüğü gibi, ekranda şu şekilde görüntülenen bir harita nesnesidir: .
Nihai çıktıyı elde etmek için for-döngüsü veya list() yöntemini kullanarak haritadaki çıktıyı yinelemeniz gerekecektir. Verilen listenin içindeki değerleri görüntüleyen kodda list() işlevini kullandım.
Yani, map() fonksiyonunu kullanarak her sayının karesini alabiliyoruz. Haritaya verilen liste [2,3,4,5,6,7,8,9] idi ve square() fonksiyonunu kullanarak çıktıyı elde edebiliyoruz. harita()'dan elde ettiğimiz şey [4, 9, 16, 25, 36, 49, 64, 81]'dir.
Map() işlevi square() işlevini listedeki tüm öğelere uygular. Örneğin my_list değişkeni listeyi her sayının karesiyle günceller. Çıkış, update_list değişkeninde saklanır.
Map() işlevini kullanma Python yerleşik işlevler
Python Map() işlevi yerleşik bir işlevdir ve aynı zamanda mevcut diğer yerleşik işlevlerle de kullanılabilir. Python. Örnekte, şunu kullanacağız: Python round() verilen değerleri yuvarlayan yerleşik işlev.
Örnek:
Sahip olduğum liste my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907] .
Listede bulunan her öğe için yuvarlatılmış değerlere ihtiyacım var. Map() işlevi olarak round() işlevini kullanacağız.
my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907] updated_list = map(round, my_list) print(updated_list) print(list(updated_list))
Çıktı:
<map object at 0x000000E65F901748> [3, 4, 4, 6, 6, 8, 8, 10]
Round() işlevi listedeki tüm öğelere uygulanır ve çıktıda gösterildiği gibi tüm değerlerin yuvarlandığı bir listeyi geri döndürür.
Map() işlevini bir yineleyici olarak bir dizeyle kullanma
Ayrıca bir dize üzerinde harita() işlevini de kullanabiliriz. İçinde Python, bir dize bir dizi gibi davranır, böylece onu haritanın () içinde kolayca kullanabiliriz.
Örnekte, verilen dizeyi büyük harfe dönüştürmeyle ilgilenen myMapFunc() fonksiyonumuz var. myMapFunc() işlevi, map() işlevine verilmiştir. Harita işlevi, dizeyi myMapFunc()'a ileterek verilen dizeyi büyük harfe dönüştürmeyle ilgilenecektir.
def myMapFunc(s): return s.upper() my_str = "welcome to guru99 tutorials!" updated_list = map(myMapFunc, my_str) print(updated_list) for i in updated_list: print(i, end="")
Çıktı:
<map object at 0x000000DF2E711748> WELCOME TO GURU99 TUTORIALS!
Map() işlevini listof ile kullanma Numbers
Map()'daki listeyle çalışmak için bir sayı listesi alınacak ve listedeki her sayı 10 ile çarpılacaktır.
Kullanacağımız liste: [2,3,4,5,6,7,8,9]. myMapFunc() fonksiyonu verilen sayıyı 10 ile çarpma işlemini gerçekleştirir. Fonksiyon haritaya listeyle birlikte verilir.
Örnek:
def myMapFunc(n): return n*10 my_list = [2,3,4,5,6,7,8,9] updated_list = map(myMapFunc, my_list) print(updated_list) print(list(updated_list))
Çıktı:
<map object at 0x000000EE2C061898> [20, 30, 40, 50, 60, 70, 80, 90]
Gördüğümüz çıktı, listedeki her sayının
10 ile çarpılır.
Tuple ile haritayı () kullanma
Bir Tuple bir nesnedir Python virgülle ayrılmış ve yuvarlak parantez içinde öğeleri olan. Örnekte, dize değerleri olan bir tuple alacağız. Kullanacağımız fonksiyon verilen değerleri büyük harfe dönüştürecek.
Örnek:
def myMapFunc(n): return n.upper() my_tuple = ('php','java','python','c++','c') updated_list = map(myMapFunc, my_tuple) print(updated_list) print(list(updated_list))
Çıktı:
<map object at 0x0000009C3C3A16A0> ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']
Aldığımız çıktı, içindeki tüm değerlerin büyük harfe dönüştürüldüğü bir demettir.
Map() işlevini Sözlükle kullanma
A sözlükte Python kıvırcık parantez({}) kullanılarak oluşturulur. Sözlük bir yineleyici olduğundan, bunu map() fonksiyonu içinde kullanabilirsiniz. Şimdi map() fonksiyonu içinde bir yineleyici olarak bir sözlüğü kullanalım.
Aşağıdaki örnek, map() içindeki sözlük yineleyicisinin çalışmasını gösterir
def myMapFunc(n): return n*10 my_dict = {2,3,4,5,6,7,8,9} finalitems = map(myMapFunc, my_dict) print(finalitems) print(list(finalitems))
Çıktı:
<map object at 0x0000007EB451DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Map() işlevini Set ile kullanma
Içinde ayarlayın Python kıvırcık parantez(()) içindeki öğelerin sıralanmamış bir koleksiyonudur. set() aynı zamanda bir yineleyici olduğundan, bunu map() fonksiyonu içinde kullanabilirsiniz.
İşte set'i harita() içinde yineleyici olarak kullanmanın çalışan bir örneği:
def myMapFunc(n): return n*10 my_set = {2,3,4,5,6,7,8,9} finalitems = map(myMapFunc, my_set) print(finalitems) print(list(finalitems))
Çıktı:
<map object at 0x000000AC8F05DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Map() işlevini Lambda işleviyle kullanma
In Pythonanonim işlevler oluşturmak için lambda ifadeleri kullanılır. Normal işlevleri tanımlamak için def kullandığınız gibi lambda anahtar sözcüğünü de kullanmanız gerekecektir.
Örnekte, haritanın () içindeki lambda fonksiyonunu kullanacağız. Lambda işlevi listedeki her değeri 10 ile çarpacaktır.
Örnek:
my_list = [2,3,4,5,6,7,8,9] updated_list = map(lambda x: x * 10, my_list) print(updated_list) print(list(updated_list))
Çıktı:
<map object at 0x000000BD18B11898> [20, 30, 40, 50, 60, 70, 80, 90]
Map() işlevi içinde Çoklu Yineleyiciler Kullanma
Örnek 1: Map()'a iki liste yineleyicisinin aktarılması
Map() işlevine aynı anda birden fazla yineleyici (bir liste, bir tuple vb.) gönderebilirsiniz.
Örneğin iki liste eklemek istiyorsanız. Aynı şey, harita() işlevi kullanılarak da yapılabilir. My_list1 ve my_list2 olmak üzere iki listeden yararlanacağız.
Aşağıdaki örnekte, my_list1'deki ilk öğe my_list2'nin ilk öğesine eklenmiştir. myMapFunc() işlevi my_list1 ve my_list2 öğelerini alır ve her ikisinin toplamını döndürür.
Map() işlevini kullanarak verilen iki listeyi eklemenin çalışma örneği.
def myMapFunc(list1, list2): return list1+list2 my_list1 = [2,3,4,5,6,7,8,9] my_list2 = [4,8,12,16,20,24,28] updated_list = map(myMapFunc, my_list1,my_list2) print(updated_list) print(list(updated_list))
Çıktı:
<map object at 0x0000004D5F751860> [6, 11, 16, 21, 26, 31, 36]
Örnek 2: Map()'a bir Tuple ve bir liste yineleyicinin aktarılması
Map() fonksiyonunda bir listeden ve bir tuple yineleyicisinden yararlanacağız. İşlev haritaya verilmiştir – myMapFunc() listedeki ve Tuple'daki öğeleri alacaktır. Öğeler alt çizgiyle (_) birleştirilecektir. Çalışma örneği aşağıda gösterildiği gibidir:
def myMapFunc(list1, tuple1): return list1+"_"+tuple1 my_list = ['a','b', 'b', 'd', 'e'] my_tuple = ('PHP','Java','Python','C++','C') updated_list = map(myMapFunc, my_list,my_tuple) print(updated_list) print(list(updated_list))
Çıktı:
<map object at 0x00000059F37BB4E0> ['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']
ÖZET
- Python Map(), girdi olarak verilen bir yineleyicinin tüm öğelerine bir işlevi uygulayan yerleşik bir işlevdir. Örneğin bir yineleyici bir liste, bir tanımlama grubu, bir dize vb. olabilir ve yinelenebilir bir harita nesnesi döndürür.
- Map() işlevi, verilen işlevi yineleyici içindeki tüm öğelere uygulayacak ve yinelenebilir bir harita nesnesi, yani bir demet, bir liste vb. döndürecektir.
- Python Map() işlevi yerleşik bir işlevdir ve aynı zamanda mevcut diğer yerleşik işlevlerle de kullanılabilir. Python.
- Bir Tuple bir nesnedir Python virgülle ayrılmış ve yuvarlak parantez içinde öğeleri olan. Örnekte dize değerleri olan bir tuple alacaktır. Kullanacağımız fonksiyon verilen değerleri büyük harfe dönüştürecektir.
- Bir sözlük Python süslü parantez({}) kullanılarak oluşturulur. Sözlük bir yineleyici olduğundan, bunu map() fonksiyonu içinde kullanabilirsiniz.
- Içinde ayarlayın Python kıvırcık parantez(()) içindeki öğelerin sıralanmamış bir koleksiyonudur. set() aynı zamanda bir yineleyici olduğundan, bunu map() fonksiyonu içinde kullanabilirsiniz.
- In Pythonanonim işlevler oluşturmak için lambda ifadeleri (veya lambda formları) kullanılır. Bu nedenle, lambda'yı haritanın () içinde kullanmak istediğinizde lambda anahtar sözcüğünün kullanılması gerekir.
- Map() fonksiyonuna birden fazla yineleyici, yani bir liste, bir tuple gönderebilirsiniz.