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

โปรแกรมกรองค่าทั้งหมดที่มากกว่า x ในอาร์เรย์


สมมติว่าเรามีรายการหมายเลขที่เรียกว่า 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]