ในบทช่วยสอนนี้ เราจะมาดูตัวอย่างที่แตกต่างของ แลมบ์ดา และ ตัวกรอง ทำงานใน Python . มาเริ่มบทแนะนำโดยทำความรู้จักกับ แลมบ์ดา และ ตัวกรอง นิพจน์และฟังก์ชันตามลำดับ
แลมบ์ดานิพจน์
แลมบ์ดา expression ใช้ในการเขียนฟังก์ชันอย่างง่ายอย่างง่าย สมมติว่าถ้าเราต้องการค้นหาเกี่ยวกับจำนวนคู่ การเขียนนิพจน์แลมบ์ดาจะช่วยประหยัดเวลาของเราได้
หากคุณไม่คุ้นเคยกับ แลมบ์ดา นิพจน์ไปที่ส่วนการสอนของ tutorialspoint เพื่อเรียนรู้รายละเอียดเพิ่มเติม
ฟังก์ชันตัวกรอง (func, iter)
ตัวกรอง (func, iter) รับสองอาร์กิวเมนต์ หนึ่งคือฟังก์ชันและอีกอันหนึ่งคือตัวแปร iter และส่งคืนอ็อบเจ็กต์ตัวกรองซึ่งเราสามารถแปลงเป็นตัววนซ้ำได้ ตัววนซ้ำผลลัพธ์จะมีองค์ประกอบทั้งหมดที่ส่งคืนโดย func โดยดำเนินการบางอย่างที่เขียนไว้ภายในฟังก์ชัน
หากคุณไม่คุ้นเคยกับ ตัวกรอง ไปที่ส่วนบทช่วยสอนของ tutorialspoint เพื่อเรียนรู้รายละเอียดเพิ่มเติม
ดังนั้นเราจึงสังเกตเห็นว่าเราสามารถใช้นิพจน์แลมบ์ดาภายในฟังก์ชัน filter(func, iter) ลองดูตัวอย่างหนึ่งที่กรองเลขคู่ออกจากรายการ
ดูอินพุตและเอาต์พุตที่คาดไว้
อินพุต:ตัวเลข =[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]เอาต์พุต:[2, 4, 6, 8, 10]
ทำตามขั้นตอนด้านล่างเพื่อให้ได้ผลลัพธ์ที่ต้องการ
อัลกอริทึม
<ก่อน>1. เริ่มต้นรายการตัวเลข2. เขียนนิพจน์แลมบ์ดาซึ่งส่งคืนตัวเลขคู่และส่งผ่านไปยังฟังก์ชันตัวกรองพร้อมกับ iter.3 แปลงวัตถุตัวกรองเป็น iter.4 พิมพ์ผลลัพธ์มาดูโค้ดกันเลย
ตัวอย่าง
## การเริ่มต้น listnums =[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]## การเขียนนิพจน์แลมบ์ดาภายในฟังก์ชันตัวกรอง## ทุกองค์ประกอบจะถูกส่งไปยังนิพจน์แลมบ์ดาและ มันจะคืนค่า จริง หากตรงตามเงื่อนไขที่เราได้เขียนไว้## ฟังก์ชันฟังก์ชันตัวกรองจะให้ค่าที่ส่งคืนทั้งหมดและจะเก็บวัตถุตัวกรองนั้น## เมื่อเราแปลงออบเจ็กต์ตัวกรองเป็น iter มันจะมีค่าที่เป็น trueresult =filter (แลมบ์ดา x:x % 2 ==0, nums)## การแปลงและพิมพ์ผลลัพธ์ (รายการ (ผลลัพธ์))
ผลลัพธ์
หากคุณเรียกใช้โปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้
[2, 4, 6, 8, 10]
บทสรุป
หากคุณมีข้อสงสัยเกี่ยวกับบทแนะนำ โปรดระบุในส่วนความคิดเห็น