Python でのラムダ関数の簡単な分析 (例付き)

不言
リリース: 2018-10-10 15:40:40
転載
8468 人が閲覧しました

この記事では、Python のラムダ関数の簡単な分析 (例付き) を紹介します。これには一定の参考値があります。必要な友人は参照できます。お役に立てれば幸いです。

1. ラムダ関数は匿名関数とも呼ばれます。つまり、関数には特定の名前がありません。まず最も単純な例を見てみましょう:

def f(x):
return x**2
print f(4)
ログイン後にコピー

Python で lambda を使用する場合、次のように記述されます

g = lambda x : x**2
print g(4)
ログイン後にコピー

2. 通常の関数と比較して、lambda は関数名を省略しているだけです。同時に、匿名関数を共有したり、他の場所で呼び出したりすることはできません。

実際、その通りです。ラムダに代わるメソッドは他にもたくさんあるため、ラムダは Python のような動的言語では驚愕の役割を果たしません。

1. Python を使用して実行スクリプトを作成する場合、ラムダを使用すると関数を定義するプロセスが節約され、コードがより合理化されます。

2. 他では再利用されない一部の抽象関数の場合、関数に名前を付けるのが難しい場合がありますが、ラムダを使用する場合は名前付けの問題を考慮する必要はありません。

3. ラムダを使用すると、特定の場面でコードを理解しやすくなります。

ラムダの基本

ラムダ ステートメントでは、コロンの前にパラメータがあります。カンマで区切って複数のパラメータを指定でき、右側に戻り値が表示されます。結腸の。 lambda ステートメントは実際に関数オブジェクトを構築します:

>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>> print filter(lambda x: x % 3 == 0, foo)
[18, 9, 24, 12, 27]
>>> print map(lambda x: x * 2 + 10, foo)
[14, 46, 28, 54, 44, 58, 26, 34, 64]
>>> print reduce(lambda x, y: x + y, foo)
139
ログイン後にコピー

オブジェクト トラバーサル処理の観点から見ると、Python の for..in..if 構文は実際に非常に強力であり、 lambda よりも読みやすいです。

defaultdict は辞書型で、defaultdict のデフォルト値を設定したり、ラムダを介してデフォルト値を設定したりできます。

次に、いくつかの例を示します:

from collections import *                                                      
x = defaultdict(lambda:0) //默认值是0
print x[0]
y =defaultdict(lambda:defaultdict(lambda:0))//默认值是一个字典,字典的默认值是0
print y[0]
z = defaultdict(lambda:[0,0,0])//默认值是一个列表,[0,0,0].
print z[0]
ログイン後にコピー

出力結果:

0
defaultdict(<function <lambda> at0x7f097797af50>, {})
[0, 0, 0]
ログイン後にコピー

以上がPython でのラムダ関数の簡単な分析 (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート