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.