อัปเดตล่าสุด Feb. 2, 2024
Lambda Function ใน Python คือ วิธีการสร้างฟังก์ชันที่ไม่มีชื่อ (anonymous functions) ซึ่งมีขนาดเล็ก โดยมักใช้สำหรับฟังก์ชันที่ง่ายและสั้น ซึ่งสามารถกำหนดได้ในบรรทัดเดียว Lambda Function สามารถรับอาร์กิวเมนต์ได้ไม่จำกัด แต่สามารถมีเพียงแค่หนึ่ง expression เท่านั้น
ตัวอย่างที่ 1 Lambda แบบง่าย
add = lambda x, y: x + yprint(f"add: {add(3, 7)}")delete = lambda a, b: a - bprint(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 ทำให้โค้ดของเราดูคลีนและเข้าใจง่ายขึ้นครับ
ใช้กับฟังก์ชันที่โค้ดไม่เยอะและมีขนาดเล็กเท่านั้นนะ ไม่งั้นจากที่จะมีประโยชน์กลับกลายเป็นว่าโค้ดอ่านยากขึ้นกว่าเดิม