Fungsi lambda

Python Tingkat Menengah untuk Pengembang

Jasmin Ludolf

Senior Data Science Content Developer

Fungsi sederhana

def average(values):
    average_value = sum(values) / len(values)
    return average_value
Python Tingkat Menengah untuk Pengembang

Fungsi lambda

  • Kata kunci lambda
    • Merepresentasikan fungsi anonim

 

lambda
Python Tingkat Menengah untuk Pengembang

Fungsi lambda

  • Kata kunci lambda
    • Merepresentasikan fungsi anonim

 

lambda arguments
Python Tingkat Menengah untuk Pengembang

Fungsi lambda

  • Kata kunci lambda
    • Merepresentasikan fungsi anonim

 

lambda arguments:
Python Tingkat Menengah untuk Pengembang

Fungsi lambda

  • Kata kunci lambda
    • Merepresentasikan fungsi anonim

$$

lambda arguments: expression
  • Konvensi: gunakan x untuk satu argumen
  • expression setara dengan body fungsi
  • Tidak perlu pernyataan return

$$

  • Dapat disimpan sebagai variabel
Python Tingkat Menengah untuk Pengembang

Membuat fungsi lambda

# Fungsi rata-rata dengan lambda
print(lambda x: sum(x) / len(x))



<function <lambda> at 0x7f11ab813d80>
# Fungsi rata-rata kustom
def average(x):
    return sum(x) / len(x)  

print(average)
<function average at 0x7f11ab813ec0>
Python Tingkat Menengah untuk Pengembang

Menggunakan fungsi lambda

# Dapatkan rata-rata
(lambda x: sum(x) / len(x))
Python Tingkat Menengah untuk Pengembang

Menggunakan fungsi lambda

# Dapatkan rata-rata
(lambda x: sum(x) / len(x))([3, 6, 9])

$$

$$

# Cetak rata-rata
print((lambda x: sum(x) / len(x))([3, 6, 9]))
6.0
Python Tingkat Menengah untuk Pengembang

Menyimpan dan memanggil fungsi lambda

# Simpan fungsi lambda sebagai variabel
average = lambda x: sum(x) / len(x)

# Panggil fungsi average print(average([3, 6, 9]))
6.0
Python Tingkat Menengah untuk Pengembang

Beberapa parameter

# Fungsi lambda dengan dua argumen
power = lambda x, y: x**y


# Pangkatkan 2 dengan 3 print(power(2, 3))
8
Python Tingkat Menengah untuk Pengembang

Fungsi lambda dengan iterable

  • map() menerapkan sebuah fungsi ke semua elemen dalam iterable
names = ["john", "sally", "leah"]

# Terapkan fungsi lambda di dalam map() capitalize = map(lambda x: x.capitalize(), names)
print(capitalize)
<map object at 0x7fb200529c10>
# Konversi ke list
print(list(capitalize))
['John', 'Sally', 'Leah']
Python Tingkat Menengah untuk Pengembang

Fungsi kustom vs. lambda

Skenario Jenis Fungsi
Tugas kompleks Kustom
Tugas berulang Kustom
Sekali pakai Lambda
Tugas sederhana Lambda
Python Tingkat Menengah untuk Pengembang

Ayo berlatih!

Python Tingkat Menengah untuk Pengembang

Preparing Video For Download...