Pythonの概要を使用してラムダ関数について

  例:

   あなたが正常な機能を定義する場合、通常は書かれて:

     

DEF:DS(X):
  リターン2 * X + 1

  その呼び出し:

 

DS(5)

  それがそのようにラムダ関数で書かれている場合、一つの文章で:

  

 G =ラムダX 2 * X + 1

  コール:

   

G =(5)

  

そのような点で、匿名関数を定義式としてラムダは、Xは、本体/計算式の右辺の関数として左結腸入口パラメータ、X + 1です。どこに書き込み関数定義のラムダ簡略化した形。コードはよりコンパクトが、関数の定義のより直感的な方法で、理解しやすいです。

 

2、Pythonは、使用、フィルタ、マップのいくつかのグローバル関数定義されやすさが低減があります。

functoolsから減らすインポート 
FOO = [2、18、9、22、17、24、8、12、27]

プリント(リスト(フィルタ(ラムダX:X%3 == 0、FOO)))
[18、9、24、12、27]

プリント(リスト(マップ(ラムダX:X * 2 + 10、FOO)))
[14、46、28、54、44、58、26、34、64]

プリント(減らす(ラムダX、Y、X + Y、FOO))
139

マップ上の例での役割は非常に単純明快です。しかし、Pythonのラムダは、シンプルさ、それの程度を達成するために使用する必要がありますか?オブジェクトトラバーサル処理では、実際にはPythonの構文for..in..if非常に強力で、かつラムダよりも良いで読みやすいです。   

  そのようなマップの例は、上記のように書くことができる:印刷([FOOでのxのX * 2 + 10])は、非常に単純な理解が容易です。   

      フィルタの例は、のように書くことができる:印刷([FOOにおけるxのX X%3 == 0の場合])は、また分かりやすくのラムダ比です。

おすすめ

転載: www.cnblogs.com/68xi/p/11628219.html