Rabu, 03 September 2025

Anonymous dan Lambda Function pemrograman python di VSCode

# lambda function

def f_kuadrat(angka):

    return angka**2

print(f"Hasil fungsi kuadrat = {f_kuadrat(3)}")

print()

 

# menggunakan lambda function

# output = lambda argument : expression

kuadrat = lambda angka:angka**2

print(f"Hasil fungsi kuadrat menggunakan lambda = {kuadrat(5)}")

print()

 

pangkat = lambda num,pow:num**pow

print(f"Hasil lambda pangkat = {pangkat(8,2)}")

print()

 

# kegunaan lmbda

# 1. sorting untuk list biasa

data_list = ["abdul","muis","am","alan","nama"]

data_list.sort()

print(f"sorting data {data_list}")

print()

 

# sorting dia pakai panjang (banyaknya huruf dalam satu kata)

def panjang_nama(nama):

    return len(nama)

data_list.sort(key=panjang_nama)

print(f"sorted list by panjang = {data_list}")

print ()

 

data_list.sort(key=len)

print(f"sorted list by len = {data_list}")

print ()

 

# sort pakai lamdba

data_list = ["abdul","muis","am","alan","nama","zainal","amiruddin"]

data_list.sort(key=lambda nama:len(nama))

print(f"sorted list by lambda = {data_list}")

print()

 

# filter

data_angka = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]

def kurang_dari_lima(angka):

    return angka <= 5

data_angka_baru = list(filter(kurang_dari_lima,data_angka))

data_angka_baru_lambda = list(filter(lambda x:x<=7,data_angka))

print(f"Hasil filter angka tanpa lambda = {data_angka_baru}")

print(f"Hasil filter angka dengan lambda = {data_angka_baru_lambda}")

print()

 

# kasus genap

data_genap = list(filter(lambda x:(x%2==0),data_angka))

print(f"Hasil angka genap lambda = {data_genap}")

 

# kasus ganjil

data_ganjil = list(filter(lambda x:(x%2!=0),data_angka))

print(f"Hasil angka ganjil lambda = {data_ganjil}")

 

# kelipatan 3

data_lipat_3 = list(filter(lambda x:(x%3==0),data_angka))

print(f"Hasil angka kelipatan 3 lambda = {data_lipat_3}")

print()

 

# anonymous function

# currying <- Haskell Curry

def pangkat(angka,n):

    hasil = angka**n

    return hasil

data_hasil = pangkat(5,2)

print(f"fungsi biasa = {data_hasil}")

print()

 

# dengan currying

def pangkat(n):

    return lambda angka:angka**n

pangkat2 = pangkat(2)

print(f"pangkat 2 = {pangkat2(5)}")

pangkat3 = pangkat(3)

print(f"pangkat 3 = {pangkat3(2)}")

print(f"pangkat bebas = {pangkat(2)(4)}")

 


Tidak ada komentar:

Posting Komentar