Memahami Fungsi Map, Filter, dan Reduce pada Python
Python menyediakan beberapa alat pemrograman fungsional yang dapat menyederhanakan tugas pemrosesan data. Di antaranya adalah fungsi map
, filter
, dan reduce
. Fungsi-fungsi ini memungkinkan Anda untuk melakukan operasi pada kumpulan data dengan cara yang ringkas dan mudah dibaca. Artikel ini membahas masing-masing fungsi ini dan memberikan contoh untuk membantu Anda memahami cara menggunakannya secara efektif.
Fungsi map
Fungsi map
menerapkan fungsi yang diberikan ke semua item dalam daftar input (atau yang dapat diulang) dan mengembalikan iterator yang menghasilkan hasilnya. Fungsi ini sangat berguna untuk menerapkan transformasi ke setiap elemen dalam koleksi.
Sintaksis
map(function, iterable)
Contoh
Misalkan Anda ingin mengkuadratkan setiap angka dalam daftar. Anda dapat menggunakan map
untuk mencapainya:
# Define a function to square a number
def square(x):
return x * x
# List of numbers
numbers = [1, 2, 3, 4, 5]
# Apply the function to each item in the list
squared_numbers = map(square, numbers)
# Convert the result to a list and print
print(list(squared_numbers)) # Output: [1, 4, 9, 16, 25]
Fungsi filter
Fungsi filter
digunakan untuk memfilter elemen dari suatu iterable berdasarkan fungsi yang mengembalikan True
atau False
. Hanya elemen yang mengembalikan True
yang disertakan dalam hasil.
Sintaksis
filter(function, iterable)
Contoh
Misalnya, jika Anda hanya ingin menyimpan angka genap dari suatu daftar, Anda dapat menggunakan filter
:
# Define a function to check if a number is even
def is_even(x):
return x % 2 == 0
# List of numbers
numbers = [1, 2, 3, 4, 5]
# Filter the list using the function
even_numbers = filter(is_even, numbers)
# Convert the result to a list and print
print(list(even_numbers)) # Output: [2, 4]
Fungsi reduce
Fungsi reduce
, yang merupakan bagian dari modul functools
, menerapkan fungsi biner secara kumulatif ke item-item yang dapat diulang, dari kiri ke kanan, untuk mengurangi yang dapat diulang tersebut menjadi satu nilai.
Sintaksis
from functools import reduce
reduce(function, iterable[, initializer])
Contoh
Misalnya, untuk menemukan hasil perkalian semua angka dalam suatu daftar, Anda dapat menggunakan reduce
:
from functools import reduce
# Define a function to multiply two numbers
def multiply(x, y):
return x * y
# List of numbers
numbers = [1, 2, 3, 4, 5]
# Reduce the list using the function
product = reduce(multiply, numbers)
# Print the result
print(product) # Output: 120
Kesimpulan
Fungsi map
, filter
, dan reduce
merupakan alat yang hebat untuk pemrograman fungsional dalam Python. Fungsi-fungsi ini menyediakan solusi elegan untuk menerapkan transformasi, memfilter data, dan mereduksi koleksi menjadi satu nilai. Dengan menguasai fungsi-fungsi ini, Anda dapat menulis kode yang lebih ringkas dan ekspresif untuk berbagai tugas pemrosesan data.