Python lambda function
— python — 1 min read
ในภาษา Python เราสามารถใช้ฟังก์ชัน Lambda เพื่อสร้างฟังก์ชันที่เล็กและกระชับ โดยไม่ต้องกำหนดชื่อฟังก์ชันอย่างเต็มรูปแบบ เนื่องจากฟังก์ชัน Lambda เป็นฟังก์ชันอนุมาน (Anonymous Function)
รูปแบบทั่วไปของฟังก์ชัน Lambda ใน Python คือ:
lambda arguments: expression
- lambda: คีย์เวิร์ดที่ใช้เริ่มต้นการสร้างฟังก์ชัน Lambda
- arguments: พารามิเตอร์ของฟังก์ชัน (สามารถมีหรือไม่มีพาราม ิเตอร์ได้)
- expression: ส่วนของการดำเนินการหรือสูตรที่ฟังก์ชัน Lambda จะทำ
ตัวอย่างการใช้งานฟังก์ชัน Lambda:
# ตัวอย่างฟังก์ชัน Lambda ที่รับพารามิเตอร์เดียวและคืนค่าเป็นค่าตัวเลขยกกำลังสองsquare = lambda x: x ** 2
# เรียกใช้ฟังก์ชัน Lambdaresult = square(5)print(result) # ผลลัพธ์ที่คืนค่าคือ 25
ในตัวอย่างด้านบน เราสร้างฟังก์ชัน Lambda ที่รับพารามิเตอร์ x เดียวและคืนค่าเป็นค่าตัวเลขที่ได้จากการยกกำลังสองของ x ซึ่งเป็นผลลัพธ์ของการคูณ x กับตัวเอง
การใช้ งานฟังก์ชัน Lambda ช่วยให้เราสามารถสร้างฟังก์ชันที่เล็กและสั้นโดยไม่จำเป็นต้องระบุชื่อฟังก์ชันและใช้ในบริบทที่ต้องการฟังก์ชันแบบอนุมาน
ตัวอย่างอื่นๆ เกี่ยวกับการใช้งานฟังก์ชัน Lambda ในภาษา Python:
- การใช้งานฟังก์ชัน Lambda ในการเรียงลำดับรายการ (Sorting)
# ตัวอย่างการใช้งานฟังก์ชัน Lambda เพื่อเรียงลำดับรายการตามค่าตัวเลขnumbers = [5, 2, 8, 1, 9, 3, 6]sorted_numbers = sorted(numbers, key=lambda x: x)print(sorted_numbers) # ผลลัพธ์ที่คืนค่าคือ [1, 2, 3, 5, 6, 8, 9]
ในตัวอย่างนี้เราใช้ sorted() เพื่อเรียงลำดับรายการ numbers โดยใช้ฟังก์ชัน Lambda เป็นอาร์กิวเมนต์ key เพื่อระบุวิธีการเปรียบเทียบและเรียงลำดับค่าตัวเลขในรายการ
- การใช้งานฟังก์ชัน Lambda ในการกรองรายการ (Filtering)
# ตัวอย่างการใช้งานฟังก์ชัน Lambda เพื่อกรองเลขคู่จากรายการnumbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]even_numbers = list(filter(lambda x: x % 2 == 0, numbers))print(even_numbers) # ผลลัพธ์ที่คืนค่าคือ [2, 4, 6, 8, 10]
ในตัวอย่างนี้เราใช้ filter() เพื่อกรองรายการ numbers เพื่อเลือกเฉพาะตัวเลขคู่โดยใช้ฟังก์ชัน Lambda เป็นตัวกรองที่เงื่อนไขคือตรวจสอบว่าตัวเลขหารด้วย 2 ลงตัว
- การใช้งานฟังก์ชัน Lambda ในการดำเนินการทางคณิตศาสตร์
# ตัวอย่างการใช้งานฟังก์ชัน Lambda ในการดำเนินการทางคณิตศาสตร์addition = lambda x, y: x + yresult = addition(5, 3)print(result) # ผลลัพธ์ที่คืนค่าคือ 8
subtraction = lambda x, y: x - yresult = subtraction(10, 4)print(result) # ผลลัพธ์ที่คืนค่าคือ 6
ในตัวอย่างนี้เรากำหนดฟังก์ชัน Lambda สำหรับการบวกและการลบ เมื่อใช้งานฟังก์ชันเหล่านี้เราสามารถดำเนินการทางคณิตศาสตร์ระหว่างตัวเลขสองตัวได้
การใช้งานฟังก์ชัน Lambda ช่วยให้เราสามารถสร้างฟังก์ชันเล็ก ๆ และสั้น โดยไม่ต้องประกาศฟังก์ชันใหม่หรือต้องกำหนดชื่อให้ฟังก์ชัน นอกจากนี้ยังช่วยให้เราเขียนโค้ดที่อ่านและเข้าใจได้ง่ายมากขึ้น