Python
 Computer >> コンピューター >  >> プログラミング >> Python

配列内のxより大きいすべての値をフィルター処理するプログラム


numsという番号のリストがあるとします。別の数xもあります。フィルタリングによって、x未満のnumsからすべての数値を見つける必要があります。 Pythonを使用する場合、関数を引数として受け取り、この関数を使用してフィルター処理するfilter()メソッドが1つあります。

したがって、入力が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:=関数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]

  1. ツリー内のすべての値がPythonで同じかどうかをチェックするプログラム

    二分木があるとすると、ツリー内のすべてのノードが同じ値であるかどうかを確認する必要があります。 したがって、入力が次のような場合 その場合、出力はTrueになります これを解決するには、次の手順に従います- 関数solve()を定義します。これはルートになり、val ルートがnullの場合、 Trueを返す valが定義されていない場合、 val:=ルートの値 ルートの値がvalと同じで、solve(ルートの左側、val)およびsolve(ルートの右側、val)もtrueの場合、trueを返します 理解を深めるために、次の実装を見

  2. Pythonの範囲内にないすべてのノードをBSTから削除するプログラム

    低値と高値の2つの値を持つBSTがあるとすると、[低、高](両端を含む)の間にないすべてのノードを削除する必要があります。 したがって、入力が次のような場合 低=7高=10の場合、出力はになります。 これを解決するには、次の手順に従います- 関数solve()を定義します。これは根を下ろし、低く、高くなります rootがnullの場合、 戻る returnsolve(ルートの右、低、高) ルートのデータが高い場合は returnsolve(ルートの左側、低、高) ルートの権利:=solve(ルートの権利、低、高) ルートの左側:=solve(ルートの左側