Python haritası

Python işlevleri ve meth

Python map() işlevi, liste veya küme gibi bir koleksiyondaki her öğe üzerinde bir işlev yürütür. map() işlevi, işlevin üzerinde argüman olarak çalışacağı bir işlevi ve uygulanacak bir nesneyi kabul eder.

Python'da bir öğe listesiyle çalışırken, şunları yapmak isteyebilirsiniz: bu öğelerin her biri üzerinde belirli bir işlev gerçekleştirin.

Python yerleşik işlev haritası() burada devreye girer. Python eşleme işlevi, yinelenebilir bir nesne içindeki tüm öğeler üzerinde bir işlevi yürütür, örneğin bir liste ve harita nesnelerini döndürür.

Bu öğreticide, bir dizi örnek kullanarak Python'da map() işlevinin nasıl kullanılacağını tartışıyoruz.




Python Yinelenebilir Nesneler

Yinelenebilir nesneler, sayılabilir sayıda değer içeren ve üzerinden geçilebilen öğelerdir. Listeler, sözlükler, demetler ve kümeler, birden çok değer içerebildikleri ve geçiş yapılabildikleri için Python'da yinelenebilir nesnelerdir.

Diyelim ki, saklamak istediğiniz öğrenci adlarından oluşan bir listeniz var. Bu adları birden çok Python değişkeninde saklamak yerine, değerleri depolamak için bir dizi bildirebilirsiniz:

students = ["Lucy", "Bill", "Graham", "Tommy", "Leslie"]

Bizim students değişkeni, yinelenebilir bir nesne olan bir liste içerir. Bu, listedeki öğeler arasında dolaşabileceğimiz anlamına gelir. 




Python Harita İşlev Sözdizimi

map() işlevi, bir listedeki her öğeyi geçirir ve her öğede bir işlev yürütür. öğe. map() Python'da yerleşiktir. Bu, map() yöntemini kullanmak için herhangi bir kitaplığı içe aktarmanıza gerek olmadığı anlamına gelir.

Katılımcıların %81'i, bir eğitim kampına katıldıktan sonra teknik iş beklentileri konusunda daha emin hissettiklerini belirtti. Bugün bir eğitim kampı ile eşleştirin.

Ortalama bir eğitim kampı mezunu, bir eğitim kampına başlamaktan ilk işini bulmaya kadar, kariyer geçişinde altı aydan az zaman harcadı.

Python harita( ), yinelenebilir bir nesnedeki birden çok öğeye belirli bir işlevi uygulamak için kullanılabilen daha yüksek dereceli bir işlevdir. Python map() işlevinin sözdizimi aşağıdaki gibidir:

map( function, yinelenebilir)

map() işlevinin aldığı ilk argüman işlevdir. Bu, yinelenebilirdeki her öğe üzerinde yürütülecek işlevdir. yinelenebilir, liste, demet, sözlük veya küme gibi eşlenecek nesnedir.





Python'da Harita İşlevi Nasıl Kullanılır

Diyelim ki tam bir öğrenci listesi oluşturmakla görevlendirilmiş bir okulda yöneticisiniz.

< p>Her öğrencinin sınıf notunun adının yanında listelendiği bir öğrenci adları listesi yazdırmaya karar veriyoruz. Bu, iki farklı sınıftaki iki öğrenci aynı ada sahipse karışıklığı önleyecektir.

Bu, Python map() işlevinin mükemmel bir uygulaması. Üzerinde bir işlevi yürütmek istediğimiz bir yinelenebilir öğemiz var. İşlev, öğrencinin adını bulunduğu notla birleştirecek. İşte birleştirmek için kullanılabilecek bir program sınıf düzeyine sahip öğrencilerin adları:

def mergeNamesAndGrades(name): return name + " First Grade" öğrenciler = ["Lucy", "Bill", "Graham", "Tommy", "Leslie"] öğrenci_r oster = map(mergeNamesAndGrades, Students)

İlk iki satırda, adında bir Python işlevi bildiririz mergeNamesAndGrades. Bu işlev, her öğrencinin adını Birinci Sınıf ile birleştirir. 

Ardından, bir sonraki satırda okulumuzdaki öğrencilerin listesini tanımlarız. İşte listemizde beş öğrenci var.

map() işlevi student_roster Python değişkeni. map() işlevi iki bağımsız değişken alır: işlev (bu durumda, mergeNamesAndGrades) ve yinelenebilir nesne (öğrenciler). 

map() yöntemi, mergeNamesAndGrades() işlevini her öğrenciye uygular. listemizde.

Python Haritasını Listeye Dönüştürme

Ancak programımız henüz tamamlanmadı. map() işlevi, tam listemizi değil, eşlenmiş bir nesneyi döndürür. student_roster değişkenimizi hemen şimdi yazdırırsak, kodumuz şunun gibi eşlenmiş bir nesne döndürür:

<0x7f2c74103890> adresindeki harita nesnesi;

Bu çıktı, map() işlevi bir liste yerine kendi özel nesnesini döndürdüğü için oluşturulmuştur. . Yani, öğrenci isimlerinin listesini yazdırmak istiyorsak, student_roster değişkenimizi bir listeye dönüştürmemiz gerekiyor. İşte bu eylemi gerçekleştirmek için kullanabileceğimiz kod:

print(list(student_roster))

pre>

Kodumuz aşağıdaki Python listesini döndürür:

['Lucy Birinci Sınıf', 'Bill Birinci Sınıf', 'Graham Birinci Sınıf', 'Tommy Birinci Sınıf', 'Leslie Birinci Sınıf']

Başka bir örneğe bakalım. Öğrenci listemiz için her öğrencinin adını ve notunu büyük harfe dönüştürmek istediğimizi söyleyin. Öğrenci adlarını ve notlarını değiştirmek için aşağıdaki kodu kullanabiliriz:

def changeCase(name) : return name.upper() Student_roster = ['Lucy First Grade', 'Bill First Grade', 'Graham First Grade', 'Tommy First Grade', 'Leslie First Grade'] final_student_roster = map(changeCase, student_roster) yazdır( list(final_student_roster))

Kodumuz, üzerinde yineleyebileceğimiz bir liste döndürür:

['LUCY BİRİNCİ GRADE', 'BILL BİRİNCİ GRADE', 'GRAHAM BİRİNCİ GRADE', 'TOMMY BİRİNCİ GRADE', 'LESLIE BİRİNCİ GRADE']

Bu örnekte , changeCase adında bir fonksiyon tanımladık. Bu işlev, her öğrencinin adını büyük harfle değiştirdi. Her adın büyük/küçük harf durumunu dönüştürmek için Python upper() işlevini kullandık.


Programımız map() işlevini kullanarak yinelenebilir <. em>student_roster. Son olarak, programımız büyük harflerle gözden geçirilmiş öğrenci adları listesini döndürdü.




Lambda ile Python Harita İşlevi

Python map() fonksiyonu, kodumuzu daha verimli hale getirmek için lambda işleviyle birlikte kullanılabilir. Yukarıdaki örneklerde, yinelenebilirliğimizi belirli bir şekilde değiştirmek için yeni bir işlev ilan ettik.

< p>Ancak, yinelenebilir bir nesne üzerinde yalnızca bir kez eylem gerçekleştirmek istiyorsak, yeni bir işlev bildirmemize gerek yoktur. Bunun yerine, küçük, anonim bir işlev olan Python lambda işlevini kullanabiliriz.

"Python.Engineeringsı hayatıma en çok ihtiyacım olduğu anda girdi ve hızlı bir şekilde bir eğitim kampıyla eşleşmeme yardımcı oldu. Mezun olduktan iki ay sonra, hayattaki değerlerim ve hedeflerime uygun hayalimdeki işi buldum!"

Venus, Rockbot'ta Yazılım Mühendisi

< p>Lambda işlevleri, yeni bir işlev tanımlamak istemediğimiz küçük işlevler için map() ile kullanılabilir .

Lambda işlevleri normal işlevlerden daha kısa olduğu için, mümkün olduğunda bunları kullanmaya çalışmalısınız. Basit işlevler için lambda işlevlerini kullanmak kodunuzun okunabilirliğini artırmaya yardımcı olacaktır.

Yukarıda yaptığımız gibi, öğrenci adları listesini büyük harfe dönüştürmek için kullanılan bir lambda örneği:

student_roster = ['Lucy First Grade', 'Bill First Grade', 'Graham First Grade', 'Tommy First Grade', 'Leslie First Grade'] final_student_roster = map(lambda s: s.upper() , Student_roster) print(list(final_student_roster))

Yapmadık öğrenci isimlerimizin durumlarını büyük harfe dönüştürmek için yeni bir fonksiyon tanımlayın. Bunun yerine, öğrenci adlarımızın büyük/küçük harflerini dönüştürecek küçük, anonim bir işlev olan lambda s: s.upper()'i kullandık. 

Kodumuz, aşağıdaki:

['LUCY BİRİNCİ SINIF', 'BILL BİRİNCİ SINIF', 'GRAHAM BİRİNCİ SINIF', ' TOMMY FIRST GRADE', 'LESLIE FIRST GRADE']



Sonuç

Python map() işlevi, belirli bir işlevi uygulamak için kullanılabilir. yinelenebilir bir nesne içindeki tüm öğelere işlev. Örneğin, bir dize listesinin büyük harflerini büyük harfe dönüştürmek için map()'i kullanabilirsiniz. Veya, bir sayı listesini belirli bir miktarla çarpma map() işlevini kullanabilirsiniz.


Bu öğreticide, yinelenebilir bir nesne içindeki tüm öğelere bir işlev uygulamak için Python'da map()'i nasıl kullanabileceğinizi tartıştık. daha verimli kod oluşturmak için map() ile Python’s lambda işlevini kullanabilirsiniz.

Artık Python bilgisi, bir profesyonel gibi map() kullanmaya başlamanız gerekir.





Python haritası: StackOverflow Questions

Tutorials