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.

Coba di Editor

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.

lambda_demo.py
Coba di Editor
# 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}")
Keluaran Terminal
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

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.