Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

แลมบ์ดาและกรองตัวอย่างใน Python


ในบทช่วยสอนนี้ เราจะมาดูตัวอย่างที่แตกต่างของ แลมบ์ดา และ ตัวกรอง ทำงานใน 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]

บทสรุป

หากคุณมีข้อสงสัยเกี่ยวกับบทแนะนำ โปรดระบุในส่วนความคิดเห็น