Verilerinizi Eşleme: Python ve JavaScript'te harita İşlevine Giriş

Jan 08 2023
Harita işlevi, belirli bir işlemi veya işlevi bir listedeki her öğeye uygulamak için yararlı bir araçtır ve hem Python'da hem de JavaScript'te bulunur. Bu gönderide, farklı kullanım örnekleri ve ikisi arasındaki farklarla birlikte haritanın her iki dilde nasıl çalıştığına bir göz atacağız.
Mutfakta Manfreed'den alınan malzemelerin ölçülmesi

İşlev map, belirli bir işlemi veya işlevi bir listedeki her öğeye uygulamak için yararlı bir araçtır ve hem Python'da hem de JavaScript'te bulunur. mapBu yazıda, farklı kullanım örnekleri ve ikisi arasındaki farklarla birlikte her iki dilde nasıl çalıştığına bir göz atacağız .

Bir tarif için bir malzeme listeniz olduğunu ve her malzeme için ölçüleri olan yeni bir liste oluşturmak istediğinizi hayal edin. Python'da, mapher malzemeyi alan ve ilerledikçe, yazmadan ölçüyü söyleyen bir şef gibi olurdu. Bu, ölçümleri yalnızca bir kez kullanmanız gerekiyorsa daha etkilidir, ancak ölçümleri sonraya saklamak istiyorsanız, bunları kendiniz yazmanız gerekir (çağrıyı a içine mapalarak list).

JavaScript'te, mapbir sonrakine geçmeden önce her bir malzemenin ölçüsünü ayrı bir kağıda yazan bir şef gibidir. Bu biraz daha zaman alır, ancak sonunda istediğiniz zaman başvurabileceğiniz tüm ölçümlerin bir listesini elde edersiniz.

Ortak özellikler:

  • mapgirdi olarak bir değerler listesi ve bir işlev alır ve işlevi listedeki her öğeye uygular
  • mapişlevin listedeki her bir öğeye uygulanmasının sonuçlarını içeren yeni bir liste döndürür
  • mapgenellikle bir değer listesini bir biçimden diğerine dönüştürmek için kullanılır
  • Python'da, maptamamen yeni bir liste oluşturmak yerine sonuçları anında üreten bir yineleyici döndürür. Bu, sonuçları yalnızca bir kez yinelemeniz gerekiyorsa daha verimli olabilir, ancak bu, tüm sonuçları içeren yeni bir liste oluşturmak istiyorsanız , aramayı içine mapsarmanız gerektiği anlamına gelir.list
  • JavaScript'te, maptüm sonuçları içeren yeni bir dizi döndürür, böylece yeni bir liste oluşturmak için özel bir şey yapmanız gerekmez.
  • mapJavaScript'te, bir kısayol olan geri arama işlevi olarak bir "ok işlevi" iletebilirsiniz .

Python'da:

words = ['cat', 'window', 'defenestrate']
uppercase_words = list(map(str.upper, words))
print(uppercase_words) # ['CAT', 'WINDOW', 'DEFENESTRATE']

const words = ['cat', 'window', 'defenestrate'];
const uppercaseWords = words.map(word => word.toUpperCase());
console.log(uppercaseWords); // ['CAT', 'WINDOW', 'DEFENESTRATE']

Python'da:

numbers = [1, 2, 3, 4]
doubled_numbers = list(map(lambda x: x * 2, numbers))
print(doubled_numbers) # [2, 4, 6, 8]

const numbers = [1, 2, 3, 4];
const doubledNumbers = numbers.map(x => x * 2);
console.log(doubledNumbers); // [2, 4, 6, 8]

Python'da:

def fahrenheit_to_celsius(fahrenheit):
    celsius = (fahrenheit - 32) * 5 / 9
    return int(celsius)

temperatures_fahrenheit = [32, 60, 212]
temperatures_celsius = list(map(fahrenheit_to_celsius, temperatures_fahrenheit))
print(temperatures_celsius)  # [0, 15, 100]

const fahrenheitToCelsius = fahrenheit => {
  const celsius = (fahrenheit - 32) * 5 / 9;
  return Math.floor(celsius);
};

const temperaturesFahrenheit = [32, 60, 212];
const temperaturesCelsius = temperaturesFahrenheit.map(fahrenheitToCelsius);
console.log(temperaturesCelsius);  //[0, 15, 100]

Python'da:

import math

numbers = [1.5, 2.3, 3.7, 4.2]
rounded_numbers = list(map(math.floor, numbers))
print(rounded_numbers)  # [1, 2, 3, 4]

const numbers = [1.5, 2.3, 3.7, 4.2];
const roundedNumbers = numbers.map(Math.floor);
console.log(roundedNumbers);  //[1, 2, 3, 4]

Python'da:

import math

numbers = [1, 4, 9, 16]
square_roots = list(map(int, map(math.sqrt, numbers)))
print(square_roots)  # [1, 2, 3, 4]

const numbers = [1, 4, 9, 16];
const squareRoots = numbers.map(Math.sqrt).map(x => Math.floor(x));
console.log(squareRoots);  //[1, 2, 3, 4]

Umarım bu gönderi size mapişlevi tanıtmada ve onu kullanabileceğiniz farklı yollardan bazılarını göstermede yardımcı olmuştur. Mutlu kodlama!