Menu
Coddy logo textTech

Map Fonksiyonu

Coddy'nin Python Journey'sinin Logic & Flow bölümünün bir parçası — ders 72 / 78.

map() fonksiyonu iki ana şey alır:

  1. Bir fonksiyon (ne yapılacağına dair talimatlar içeren)
  2. Bir öğe dizisi (bir liste veya herhangi bir öğe koleksiyonu gibi)

Ardından bu fonksiyonu dizinizdeki her bir öğeye tek tek uygular ve tüm sonuçları size geri verir.

Örneğin:

def square(n):
    return n * n

numbers = [1, 2, 3, 4, 5]  # Bu sadece bir sayı listesidir
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# Çıktı: [1, 4, 9, 16, 25]

Burada ne oldu:

  • Bir sayı listemiz var: [1, 2, 3, 4, 5]
  • map() fonksiyonu her bir sayıyı teker teker alır
  • Her bir sayıyı square fonksiyonumuzdan geçirir
  • Tüm sonuçları sırasıyla toplar

Bunu bir montaj hattı gibi düşünebilirsiniz:

  1. 1 sayısı girer → kare alma fonksiyonu onu 1 yapar
  2. 2 sayısı girer → kare alma fonksiyonu onu 4 yapar
  3. 3 sayısı girer → kare alma fonksiyonu onu 9 yapar Ve bu şekilde devam eder...

Ayrı bir fonksiyon tanımlamak yerine bir lambda fonksiyonu da kullanabilirsiniz:

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# Çıktı: [1, 4, 9, 16, 25]

map() fonksiyonu, yalnızca sayılarla değil, herhangi bir öğe koleksiyonuyla çalışır. Bunlar dizeler veya aynı şekilde işlemek istediğiniz başka herhangi bir veri türü olabilir.

challenge icon

Görev

Kolay

Bir dize listesini (strings) argüman olarak alan convert_to_uppercase adında bir fonksiyon oluşturun. Fonksiyon, listedeki her bir dizeyi büyük harfe dönüştürmek için bir lambda fonksiyonu ile birlikte map() fonksiyonunu kullanmalıdır. Fonksiyon, büyük harfli dizeleri içeren bir liste döndürmelidir.

Kopya kağıdı

map() fonksiyonu, bir dizideki her bir öğeye bir fonksiyon uygular ve sonuçları döndürür:

def square(n):
    return n * n

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# Output: [1, 4, 9, 16, 25]

map() ile birlikte lambda fonksiyonlarını da kullanabilirsiniz:

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# Output: [1, 4, 9, 16, 25]

map() fonksiyonu sadece sayılarla değil, her türlü veri tipiyle çalışır.

Kendin dene

def convert_to_uppercase(strings):
    # Dizeleri büyük harfe dönüştürmek için lambda fonksiyonu ile map() kullanın
    uppercase_strings = 
    
    # Büyük harfli dizelerin listesini döndürün
    return list(uppercase_strings)
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Logic & Flow bölümündeki tüm dersler