Memetakan Data Anda: Pengantar Fungsi peta dengan Python dan JavaScript

Jan 08 2023
Fungsi peta adalah alat yang berguna untuk menerapkan proses atau fungsi tertentu ke setiap elemen dalam daftar, dan ditemukan di Python dan JavaScript. Dalam postingan ini, kita akan melihat cara kerja peta dalam kedua bahasa, beserta beberapa contoh kasus penggunaan yang berbeda dan perbedaan di antara keduanya.
Mengukur bahan-bahan dari Manfreed di dapur

Fungsi mapadalah alat yang berguna untuk menerapkan proses atau fungsi tertentu ke setiap elemen dalam daftar, dan ditemukan di Python dan JavaScript. Dalam postingan ini, kita akan melihat cara mapkerja kedua bahasa tersebut, beserta beberapa contoh kasus penggunaan yang berbeda dan perbedaan antara keduanya.

Bayangkan Anda memiliki daftar bahan untuk resep, dan Anda ingin membuat daftar baru dengan takaran masing-masing bahan. Dengan Python, mapakan seperti koki yang mengambil setiap bahan dan menyebutkan takarannya sambil jalan, tanpa menuliskannya. Ini lebih efisien jika Anda hanya perlu menggunakan pengukuran satu kali, tetapi jika Anda ingin menyimpan pengukuran untuk nanti, Anda harus menuliskannya sendiri (dengan mengakhiri panggilan ke mapdalam a list).

Dalam JavaScript, mapseperti koki yang menuliskan takaran untuk setiap bahan pada selembar kertas terpisah sebelum beralih ke kertas berikutnya. Ini membutuhkan sedikit lebih banyak waktu, tetapi Anda berakhir dengan daftar semua pengukuran yang dapat Anda rujuk kembali kapan pun Anda mau.

Fitur umum:

  • mapmengambil daftar nilai dan fungsi sebagai input, dan menerapkan fungsi tersebut ke setiap elemen dalam daftar
  • mapmengembalikan daftar baru dengan hasil penerapan fungsi ke setiap elemen dalam daftar
  • mapsering digunakan untuk mengubah daftar nilai dari satu bentuk ke bentuk lainnya
  • Dengan Python, mapkembalikan iterator yang menghasilkan hasil dengan cepat, daripada membuat daftar baru. Ini bisa lebih efisien jika Anda hanya perlu mengulangi hasil satu kali, tetapi itu berarti Anda harus menyelesaikan panggilan ke mapin listjika Anda ingin membuat daftar baru dengan semua hasil.
  • Dalam JavaScript, mapkembalikan array baru dengan semua hasil, jadi Anda tidak perlu melakukan sesuatu yang khusus untuk membuat daftar baru.
  • Dalam JavaScript, Anda dapat melewatkan map"fungsi panah" sebagai fungsi panggilan balik, yang merupakan singkatan.

Dengan Python:

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']

Dengan Python:

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]

Dengan Python:

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]

Dengan Python:

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]

Dengan Python:

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]

Saya harap posting ini membantu memperkenalkan Anda pada mapfungsi dan menunjukkan kepada Anda beberapa cara berbeda untuk menggunakannya. Selamat membuat kode!