Pengenalan Fungsi map() Bawaan Python
Fungsi map()
adalah fungsi bawaan yang kuat dan serbaguna dalam Python yang memungkinkan Anda menerapkan fungsi ke setiap item dalam iterable (seperti daftar atau tuple) dan mengembalikan objek map, yang merupakan iterator. Fungsi ini penting bagi setiap programmer Python yang ingin menulis kode yang bersih, efisien, dan Pythonic.
Apa itu Fungsi map()
?
Fungsi map()
dalam Python mengambil dua argumen utama: sebuah fungsi dan sebuah iterable. Fungsi ini menerapkan fungsi tersebut ke semua item dalam iterable dan mengembalikan sebuah iterator (sebuah objek map
) yang berisi hasil.
Sintaks untuk map()
adalah:
map(function, iterable, ...)
Di sini, function
adalah fungsi yang akan diterapkan pada setiap elemen dalam iterable, dan iterable
dapat berupa iterable Python apa pun, seperti list, tuple, atau string. Anda juga dapat memberikan beberapa iterable, dan fungsi tersebut harus menerima argumen sebanyak jumlah iterable yang ada.
Penggunaan Dasar map()
Mari kita lihat contoh sederhana di mana kita menggunakan map()
untuk mengkuadratkan setiap angka dalam daftar:
def square(x):
return x * x
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers)) # Output: [1, 4, 9, 16, 25]
Dalam contoh ini, fungsi square()
diterapkan pada setiap elemen dari daftar numbers
, dan hasilnya dikembalikan sebagai iterator baru. Kami menggunakan list()
untuk mengubah iterator menjadi daftar agar mudah dilihat.
Menggunakan map()
dengan Fungsi Lambda
Alih-alih mendefinisikan fungsi terpisah, Anda dapat menggunakan fungsi lambda untuk membuat kode Anda lebih ringkas. Fungsi lambda adalah fungsi kecil dan anonim yang didefinisikan dengan kata kunci lambda
. Berikut cara menggunakan fungsi lambda dengan map()
:
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x * x, numbers)
print(list(squared_numbers)) # Output: [1, 4, 9, 16, 25]
Dalam kasus ini, kami mendefinisikan fungsi langsung di dalam panggilan map()
, membuat kode lebih pendek dan lebih mudah dibaca.
Memetakan Beberapa Iterabel
Fungsi map()
juga dapat mengambil lebih dari satu iterable. Dalam kasus seperti itu, fungsi yang diberikan harus memiliki argumen sebanyak jumlah iterable. Fungsi map()
kemudian akan menerapkan fungsi tersebut menggunakan elemen yang sesuai dari setiap iterable.
Misalnya, mari tambahkan elemen yang sesuai dari dua daftar:
numbers1 = [1, 2, 3]
numbers2 = [4, 5, 6]
summed_numbers = map(lambda x, y: x + y, numbers1, numbers2)
print(list(summed_numbers)) # Output: [5, 7, 9]
Di sini, fungsi lambda mengambil dua argumen, x
dan y
, yang masing-masing sesuai dengan elemen dari numbers1
dan numbers2
, dan mengembalikan jumlahnya.
Mengonversi Objek map
ke Tipe Data Lain
Fungsi map()
mengembalikan sebuah iterator, yaitu objek yang dapat Anda iterasi tetapi bukan merupakan daftar itu sendiri. Untuk menggunakan hasil dalam konteks yang berbeda, Anda mungkin ingin mengonversinya ke tipe data lain seperti daftar, tupel, atau set:
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x * x, numbers)
print(list(squared_numbers)) # Convert to list: [1, 4, 9, 16, 25]
print(tuple(squared_numbers)) # Convert to tuple: ()
print(set(squared_numbers)) # Convert to set: set()
Perhatikan bahwa setelah iterator habis (misalnya, dengan mengubahnya menjadi daftar), iterator tersebut tidak dapat digunakan lagi. Oleh karena itu, konversi berikutnya akan mengembalikan koleksi yang kosong.
Aplikasi Praktis map()
Fungsi map()
sangat berguna dalam pemrosesan data dan paradigma pemrograman fungsional. Berikut ini beberapa aplikasi umum:
- Menerapkan fungsi ke setiap elemen dalam daftar atau larik (misalnya, normalisasi data).
- Mengonversi tipe data (misalnya, mengonversi daftar string menjadi daftar integer).
- Menggabungkan beberapa iterabel secara paralel (misalnya, operasi per elemen pada dua daftar).
- Membersihkan atau mengubah data (misalnya, memangkas spasi atau menerapkan transformasi).
Kesimpulan
Fungsi map()
adalah alat serbaguna dan canggih dalam Python yang menyederhanakan penerapan fungsi pada iterable. Dengan memahami cara menggunakan map()
secara efektif, Anda dapat menulis kode yang lebih bersih, lebih efisien, dan lebih Pythonic. Baik Anda seorang pemula atau pengembang berpengalaman, menguasai map()
akan membantu Anda dalam berbagai skenario pemrograman.