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

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


ในบทความนี้ เราจะเรียนรู้เกี่ยวกับนิพจน์แลมบ์ดาและฟังก์ชัน filter() ใน Python 3.x หรือก่อนหน้านี้ ฟังก์ชันเหล่านี้มีอยู่ในไลบรารีมาตรฐาน Python ในตัว

นิพจน์แลมบ์ดาคืออะไร

ฟังก์ชันอินไลน์สามารถกำหนดได้โดยใช้นิพจน์แลมบ์ดา นิพจน์แลมบ์ดาประกอบด้วยคีย์เวิร์ดแลมบ์ดาตามด้วยรายการอาร์กิวเมนต์ที่คั่นด้วยเครื่องหมายจุลภาค และนิพจน์ที่จะถูกประเมินโดยใช้รายการอาร์กิวเมนต์ในรูปแบบต่อไปนี้:

ไวยากรณ์

 Lambda arguments: expression

ค่าส่งคืน: ค่าที่คำนวณโดยการแทนที่อาร์กิวเมนต์ในนิพจน์

นิพจน์แลมบ์ดามักย่อด้วยชื่อของฟังก์ชันที่ไม่ระบุชื่อ เนื่องจากไม่มีชื่อใดๆ ที่นี่ไม่มีคีย์เวิร์ด def ที่จำเป็นสำหรับการประกาศฟังก์ชัน

ฟังก์ชันตัวกรองคืออะไร

Python จัดเตรียม function filter() ที่รับฟังก์ชันและวัตถุ iterable เป็นอาร์กิวเมนต์อินพุต และส่งกลับเฉพาะองค์ประกอบเหล่านั้นจากอ็อบเจกต์ iterable ซึ่งฟังก์ชันคืนค่าเป็น True

ไวยากรณ์

filter(function , <list type>)

ประเภทการคืนสินค้า :รายการค่าที่คำนวณได้

ให้เราดูภาพประกอบบางส่วนเพื่อดูภาพรวมที่ดีขึ้นเกี่ยวกับการใช้งาน

ภาพประกอบ 1

ตัวอย่าง

inp_list = ['t','u','t','o','r','i','a','l']
result = list(filter(lambda x: x!='t' , inp_list))

print(result)

ผลลัพธ์

['u', 'o', 'r', 'i', 'a', 'l']

คำอธิบาย

องค์ประกอบทั้งหมดในรายการนอกเหนือจาก 't' จะถูกกรองโดยเงื่อนไข และรายการถูกสร้างขึ้นโดยความช่วยเหลือของนิพจน์แลมบ์ดา

ภาพประกอบ 2

ตัวอย่าง

inp_list = [1,2,3,4,5,6,7,8,9,10]
result = list(filter(lambda x: x%2==0 , inp_list))

print(result)

ผลลัพธ์

[2, 4, 6, 8, 10]

คำอธิบาย

ที่นี่เรากรององค์ประกอบคู่ทั้งหมดออกจากรายการที่กำหนดและแสดงในรูปแบบของรายการโดยพิมพ์ค่าที่ส่งคืน

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีใช้ฟังก์ชัน lambda และ filter() ใน Python 3.x หรือก่อนหน้านี้ นอกจากนี้เรายังได้เรียนรู้เกี่ยวกับการใช้งานทั้งสองฟังก์ชันร่วมกันเพื่อให้ได้ผลลัพธ์ที่ต้องการ

ฟังก์ชันเหล่านี้มักใช้ร่วมกันเนื่องจากเป็นวิธีที่ดีกว่าในการกรองเอาต์พุตในรูปแบบที่ต้องการ