สมมติว่าเรามีรายการหมายเลขที่เรียกว่า nums เรายังมีเลข x อีกตัวหนึ่ง เราต้องหาตัวเลขทั้งหมดจาก num ที่น้อยกว่า x โดยการกรอง ในเราใช้ python มีเมธอดหนึ่ง filter() ที่ใช้ฟังก์ชันเป็นอาร์กิวเมนต์และกรองโดยใช้ฟังก์ชันนี้
ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[1,5,8,3,6,9,12,77,55,36,2,5,6,12,87] x =50 ผลลัพธ์จะเป็น [ 1, 5, 8, 3, 6, 9, 12, 36, 2, 5, 6, 12]
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
กำหนดฟังก์ชัน f สิ่งนี้จะรับอาร์กิวเมนต์ a
-
ถ้า
-
left_items :=กรอง nums โดยใช้ฟังก์ชัน f
-
แปลงวัตถุกรอง left_items เป็นรายการและส่งคืน
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น
def solve(nums, x): left_items = filter(lambda a: a < x, nums) return list(left_items) nums = [1,5,8,3,6,9,12,77,55,36,2,5,6,12,87] x = 50 print(solve(nums, x))
อินพุต
[1,5,8,3,6,9,12,77,55,36,2,5,6,12,87], 50
ผลลัพธ์
[1, 5, 8, 3, 6, 9, 12, 36, 2, 5, 6, 12]