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

Pythonでのラムダとフィルターの例


このチュートリアルでは、ラムダの別の例を見ていきます。 およびフィルター Pythonの関数 。 ラムダについて知ってからチュートリアルを始めましょう およびフィルター それぞれ式と機能。

ラムダ式

ラムダ 式は、単純な関数を簡単に記述するために使用されます。偶数について知りたい場合は、ラムダ式を書くと時間を節約できます。

ラムダに慣れていない場合 式は、チュートリアルポイントのチュートリアルセクションに移動します 詳細については、こちらをご覧ください。

filter(func、iter)関数

filter(func、iter) 2つの引数を取ります。1つは関数で、もう1つはiter変数であり、イテレーターに変換できるフィルターオブジェクトを返します。結果のイテレータには、 funcによって返されるすべての要素が含まれます。 関数内に記述された操作を実行することによって。

フィルターに慣れていない場合 関数はtutorialspointのチュートリアルセクションに移動します 詳細については、こちらをご覧ください。

そのため、filter(func、iter)関数内でラムダ式を使用できることに気づきました。リストから偶数を除外する1つの例を見てみましょう。

予想される入力と出力を参照してください。

Input:
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Output:
[2, 4, 6, 8, 10]

以下の手順に従って、目的の出力を実現しましょう。

アルゴリズム

1. Initialise the list of numbers.
2. Write a lambda expression which returns even numbers and pass it to filter function along with the iter.
3. Convert the filter object into an iter.
4. Print the result.

コードを見てみましょう。

## initializing the list
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
## writing lambda expression inside the filter function
## every element will be passed to lambda expression and it will return true if it
satisfies the condition which we have written
## filter function function will yield all those returned values and it stores them
in filter object
## when we convert filter object to iter then, it will values which are true
result = filter(lambda x: x % 2 == 0, nums)
## converting and printing the result
print(list(result))

出力

上記のプログラムを実行すると、次の出力が得られます。

[2, 4, 6, 8, 10]

結論

チュートリアルについて疑問がある場合は、コメントセクションにその旨を記載してください。


  1. 例を使ってPythonでTimeit?

    Pythonには、Pythonコードの実行時間を測定する多くの方法があります。 1つの方法は、Python組み込みの時間モジュールを使用して、プログラムの実行の前後の時間を節約することです。 Python timeit 一部のプログラムが実行されている場合、そのコードを実行可能にするために、多くのプロセスもバックグラウンドで実行されます。時間モジュールはバックグラウンドプロセスの実行時間をカウントしませんが、正確な時間パフォーマンス測定が必要な場合は、時間モジュールがそれを実行します。 timeitモジュールはコードを約100万回(デフォルト値)実行し、そのコードの実行にかかった最小時

  2. Pythonで関数とLambda式をマップして文字を置き換えます

    文字a1を文字a2に、a2をa1に置き換えたいと思います。たとえば、 入力文字列については、 "puporials toinp" 文字pとtの場合、終了文字列は-のようになります。 "tutorials point" このために、map関数とラムダを使用して置換を行うことができます。 map(lambda、input)関数は、(反復可能な入力の形式で)渡された各アイテムを反復処理し、ラムダ式を適用します。したがって、次のように使用できます- 例 def replaceUsingMapAndLambda(sent, a1, a2): # We cre