Skip to content
Siamcoder

Python lambda function

python1 min read

Laptop screen with code

ในภาษา Python เราสามารถใช้ฟังก์ชัน Lambda เพื่อสร้างฟังก์ชันที่เล็กและกระชับ โดยไม่ต้องกำหนดชื่อฟังก์ชันอย่างเต็มรูปแบบ เนื่องจากฟังก์ชัน Lambda เป็นฟังก์ชันอนุมาน (Anonymous Function)

รูปแบบทั่วไปของฟังก์ชัน Lambda ใน Python คือ:

lambda arguments: expression
  • lambda: คีย์เวิร์ดที่ใช้เริ่มต้นการสร้างฟังก์ชัน Lambda
  • arguments: พารามิเตอร์ของฟังก์ชัน (สามารถมีหรือไม่มีพารามิเตอร์ได้)
  • expression: ส่วนของการดำเนินการหรือสูตรที่ฟังก์ชัน Lambda จะทำ

ตัวอย่างการใช้งานฟังก์ชัน Lambda:

# ตัวอย่างฟังก์ชัน Lambda ที่รับพารามิเตอร์เดียวและคืนค่าเป็นค่าตัวเลขยกกำลังสอง
square = lambda x: x ** 2
# เรียกใช้ฟังก์ชัน Lambda
result = 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 + y
result = addition(5, 3)
print(result) # ผลลัพธ์ที่คืนค่าคือ 8
subtraction = lambda x, y: x - y
result = subtraction(10, 4)
print(result) # ผลลัพธ์ที่คืนค่าคือ 6

ในตัวอย่างนี้เรากำหนดฟังก์ชัน Lambda สำหรับการบวกและการลบ เมื่อใช้งานฟังก์ชันเหล่านี้เราสามารถดำเนินการทางคณิตศาสตร์ระหว่างตัวเลขสองตัวได้

การใช้งานฟังก์ชัน Lambda ช่วยให้เราสามารถสร้างฟังก์ชันเล็ก ๆ และสั้น โดยไม่ต้องประกาศฟังก์ชันใหม่หรือต้องกำหนดชื่อให้ฟังก์ชัน นอกจากนี้ยังช่วยให้เราเขียนโค้ดที่อ่านและเข้าใจได้ง่ายมากขึ้น