Lambda Function

   อัปเดตล่าสุด Feb. 2, 2024

Lambda Function ใน Python คือ วิธีการสร้างฟังก์ชันที่ไม่มีชื่อ (anonymous functions) ซึ่งมีขนาดเล็ก โดยมักใช้สำหรับฟังก์ชันที่ง่ายและสั้น ซึ่งสามารถกำหนดได้ในบรรทัดเดียว Lambda Function สามารถรับอาร์กิวเมนต์ได้ไม่จำกัด แต่สามารถมีเพียงแค่หนึ่ง expression เท่านั้น


ตัวอย่างการใช้งาน Lambda Function ในภาษา Python

ตัวอย่างที่ 1 Lambda แบบง่าย

add = lambda x, y: x + y
print(f"add: {add(3, 7)}")

delete = lambda a, b: a - b
print(f"delete: {delete(5, 4)}")


ในตัวอย่างนี้ สร้างฟังก์ชัน add และ  delete โดยใช้ Lambda ซึ่งทำงานเหมือนฟังก์ชันปกติในการบวกและลบตัวเลข


ตัวอย่างที่ 2: การเรียงลำดับใน List

list_of_tuples = [(1, 'd'), (2, 'b'), (4, 'a'), (3, 'c')]
list_of_tuples.sort(key=lambda x: x[1])
print(list_of_tuples)


ในตัวอย่างนี้, เราใช้ Lambda ในการเรียงลำดับ list ของ tuples โดยอิงตามตัวอักษรที่อยู่ในตำแหน่งที่สองของแต่ละ tuple


ตัวอย่าง 3: การกรองข้อมูลใน List

nums = [1, 2, 3, 4, 5, 6, 7]
even_nums = list(filter(lambda x: x % 2 == 0, nums))
print(even_nums)

ในตัวอย่างนี้, เราใช้ Lambda กับฟังก์ชัน filter เพื่อกรองเลขคู่ออกจาก list


ตัวอย่าง 4: การแปลงข้อมูลใน List

nums_list = [1, 2, 3, 4, 5]
squared_nums = list(map(lambda x: x**2, nums_list))
print(squared_nums)

ในตัวอย่างนี้, เราใช้ Lambda กับฟังก์ชัน map เพื่อคำนวณกำลังสองของแต่ละตัวเลขใน list


สรุป

Lambda ฟังก์ชันให้ความยืดหยุ่นและความสะดวกในการเขียนโค้ด Python โดยเฉพาะเมื่อต้องการฟังก์ชันที่มีขนาดเล็กและใช้งานเพียงครั้งเดียว โดยการใช้ Lambda ทำให้โค้ดของเราดูคลีนและเข้าใจง่ายขึ้นครับ

ใช้กับฟังก์ชันที่โค้ดไม่เยอะและมีขนาดเล็กเท่านั้นนะ ไม่งั้นจากที่จะมีประโยชน์กลับกลายเป็นว่าโค้ดอ่านยากขึ้นกว่าเดิม





คอร์สเรียนแนะนำ