過濾陣列中所有大於x的值的程式


假設我們有一個名為nums的數字列表。我們還有一個數字x。我們必須透過過濾找到nums中所有小於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

  • 如果a < x,則返回true,否則返回false

  • left_items := 使用函式f過濾nums

  • 將過濾器物件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]

更新於:2021年10月12日

573 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.