Cara Menggunakan Fungsi map() dengan Python
Pelajari cara menggunakan fungsi map() Python. Kuasai penerapan fungsi ke iterable tanpa menulis loop, dan bandingkan peta dengan pemahaman daftar.
Ikhtisar
Saat memproses kumpulan data, Anda sering kali perlu menerapkan transformasi spesifik ke setiap item dalam sebuah iterable. Misalnya, mengonversi daftar nomor string menjadi bilangan bulat, atau menormalkan array string database dengan mengonversinya menjadi huruf kecil. Daripada menulis perulangan `for` yang bertele-tele, Python menyediakan alat bawaan yang disebut `peta()`.
Fungsi `map(function, iterable)` menerima fungsi transformasi dan iterable sebagai argumen. Ini menerapkan fungsi ke setiap elemen iterable dan mengembalikan objek iterator (objek `peta`). Karena dikembalikan sebagai iterator, penghitungan dijalankan dengan lambat: elemen hanya diproses saat Anda mengulanginya, sehingga menghemat memori untuk kumpulan data besar.
Untuk segera mendapatkan representasi daftar objek peta, Anda harus menampilkan hasilnya menggunakan konstruktor `list()`: `list(map(func, data))`. Anda dapat meneruskan fungsi standar apa pun, fungsi pustaka standar (seperti `str` atau `len`), atau fungsi anonim khusus yang dideklarasikan dengan kata kunci `lambda` langsung ke `map()` untuk eksekusi sebaris.
Kode & Output Eksekusi
Skrip ini mendemonstrasikan modifikasi koleksi menggunakan fungsi map() dengan transformasi string, memetakan item daftar ke angka, dan menggunakan callback lambda.
# 1. Map string conversion over a list of numbers
numbers = [1, 2, 3, 4]
string_numbers = list(map(str, numbers))
print("Mapped to strings:", string_numbers)
# 2. Square numbers using a lambda function inside map()
squared = list(map(lambda x: x**2, numbers))
print("Squared numbers:", squared)
# 3. Apply custom logic function to items
def normalize_name(name):
return name.strip().capitalize()
names = [" alice", "BOB ", " charlie "]
clean_names = list(map(normalize_name, names))
print("Clean names list:", clean_names)Mapped to strings: ['1', '2', '3', '4']
Squared numbers: [1, 4, 9, 16]
Clean names list: ['Alice', 'Bob', 'Charlie']Implementasi Langkah demi Langkah
- Identifikasi fungsi transformasi yang ingin Anda terapkan ke setiap elemen dalam koleksi.
- Panggil map(function_name, iterable) untuk membuat iterator malas dari elemen yang diubah.
- Bungkus panggilan map() di dalam list() jika Anda perlu segera mengakses semua elemen sebagai daftar standar.
- Gabungkan map() dengan fungsi lambda untuk transformasi inline yang cepat dan satu kali.
Pertanyaan yang Sering Diajukan
Apakah map() lebih baik daripada pemahaman daftar?
Pemahaman daftar umumnya dianggap lebih mudah dibaca dan pythonic oleh komunitas. Namun, map() bisa lebih cepat ketika menerapkan fungsi bawaan yang sudah ada (seperti map(str, list)) karena menjalankan loop kode C yang dioptimalkan.
Bisakah map() mengambil banyak iterable?
Iya! Jika fungsi transformasi membutuhkan banyak argumen, Anda bisa meneruskan beberapa iterable ke map(). Misalnya, map(lambda x, y: x + y, list1, list2) akan menambahkan elemen berpasangan.
Topik Terkait
Pelajari cara menggunakan fungsi lambda dengan Python. Kuasai fungsi anonim, panggilan balik sebaris, dan pengurutan data daftar dengan kunci lambda.
Cara Menggunakan Pemahaman Daftar dengan PythonPelajari cara menggunakan pemahaman daftar dengan Python. Tulis loop ringkas, terapkan filter bersyarat, dan buat matriks dengan sintaksis visual yang bersih.
Cara Menggunakan Fungsi filter() dengan PythonPelajari cara menggunakan fungsi filter() Python untuk mengekstrak elemen dari koleksi. Bandingkan filter dengan pemahaman daftar dan panggilan balik lambda.
Sumber Daya Python yang Direkomendasikan
Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.
Fungsi Python
Fungsi master Python. Pelajari cara menulis kode yang dapat digunakan kembali menggunakan def, menentukan argumen, mengembalikan nilai, dan memahami cakupan lokal dan global.
Lembar
Panduan referensi cepat untuk perpustakaan standar matematika Python. Pelajari cara menggunakan fungsi trigonometri, logaritma, pembulatan, dan aritmatika.
Python vs JavaScript: Bahasa Pemrograman Mana yang Terbaik?
Perbandingan komprehensif antara Python dan JavaScript. Jelajahi perbedaan sintaksis, kinerja, kasus penggunaan (backend vs frontend), dan contoh pengkodean.