Fungsi Python Lambda: Panduan Fungsi Anonim
Pelajari cara menulis fungsi lambda anonim dengan Python. Kuasai pola pemrograman fungsional menggunakan map(), filter(), dan sortir() dengan sintaksis lambda.
Ikhtisar
Dalam Python, fungsi lambda—juga dikenal sebagai fungsi anonim—adalah fungsi satu baris yang kecil, cepat, dan tidak memerlukan kata kunci `def` standar atau nama formal. Mereka dimaksudkan untuk penggunaan sementara dan cepat, memungkinkan Anda meneruskan logika fungsional sebagai argumen secara langsung. Hal ini membuat kode Anda lebih ringkas, mengurangi biaya penulisan fungsi pembantu lengkap yang hanya dipanggil di satu tempat.
Sintaks fungsi lambda sederhana: `argumen lambda: ekspresi`. Berbeda dengan fungsi standar, lambda tidak memiliki pernyataan `return` yang eksplisit; ekspresi dievaluasi dan dikembalikan secara otomatis. Selain itu, fungsi lambda dibatasi pada satu ekspresi, yang berarti Anda tidak dapat menulis loop multi-baris yang kompleks, penugasan, atau blok kondisi di dalamnya, sehingga menerapkan pendekatan yang bersih dan fungsional.
Fungsi Lambda biasanya digunakan bersama dengan fungsi tingkat tinggi bawaan seperti `map()` (yang menerapkan fungsi ke setiap item dalam daftar), `filter()` (yang mempertahankan item yang cocok dengan kondisi), dan `sorted()` (yang mengurutkan item menggunakan kunci pengurutan khusus). Misalnya, mengurutkan daftar kamus berdasarkan kunci kamus tertentu sangatlah mudah saat menggunakan lambda sebagai kunci pengurutan. Memahami fungsi lambda memberi Anda alat penting untuk menulis kode Python yang bersih.
Kode & Output Eksekusi
Menyortir daftar kamus yang kompleks dan memfilter kumpulan data menggunakan fungsi anonim sebaris.
# Sorting using lambda
students = [
{"name": "Alice", "grade": 88},
{"name": "Bob", "grade": 95},
{"name": "Charlie", "grade": 90}
]
# Sort students by grade (descending)
sorted_students = sorted(students, key=lambda s: s["grade"], reverse=True)
print("Sorted students by grade:")
for student in sorted_students:
print(f"- {student['name']}: {student['grade']}")
# Filtering using lambda
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))
print(f"\nOdd numbers: {odd_numbers}")Sorted students by grade:
- Bob: 95
- Charlie: 90
- Alice: 88
Odd numbers: [1, 3, 5, 7]Implementasi Langkah demi Langkah
- Meneruskan kriteria pengurutan khusus ke list.sort() dan diurutkan()
- Menerapkan transformasi inline dalam pipeline ilmu data
- Mendefinisikan panggilan balik cepat dalam aplikasi UI berbasis peristiwa
Pertanyaan yang Sering Diajukan
Bisakah fungsi lambda menerima banyak argumen?
Ya, Anda dapat mendefinisikan beberapa argumen yang dipisahkan dengan koma, misalnya lambda x, y: x + y.
Mengapa fungsi lambda disebut anonim?
Karena fungsi tersebut dibuat tanpa pengikatan nama, tidak seperti fungsi def yang mendaftarkan nama tertentu di namespace lokal.
Topik Terkait
Fungsi master Python. Pelajari cara menulis kode yang dapat digunakan kembali menggunakan def, menentukan argumen, mengembalikan nilai, dan memahami cakupan lokal dan global.
Pemahaman PythonTulis Python yang lebih bersih dan lebih cepat. Daftar master, kamus, dan pemahaman kumpulan dengan contoh praktis, kondisi pemfilteran, dan loop bersarang.
Sumber Daya Python yang Direkomendasikan
Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.
Cara Menggunakan Fungsi Lambda dengan Python
Pelajari cara menggunakan fungsi lambda dengan Python. Kuasai fungsi anonim, panggilan balik sebaris, dan pengurutan data daftar dengan kunci lambda.
Lembar
Panduan referensi lengkap untuk manipulasi string Python. Kuasai pemformatan, pencarian, pemisahan, penggantian, dan pemeriksaan properti string.
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.