Python3メモ⑭(lambda、map、filter、リスト内包表記)

lambda(ラムダ式)

lambda を使うと、名前のない一行の小さな関数を作れます。

普通の関数はこう書きます(testという名前の関数を定義)。

lambda を使うと一行でこう書けます。

「lambda 引数: 返り値」という書き方になります。

使う時は、変数に代入したり、

丸括弧で括ったりします。

map

map関数は、用意した関数で要素を一つ一つ実行し、その結果を返します。

map型のオブジェクト = map(関数, リストのような要素の集まり)

戻り値はmap型のイテレータのオブジェクトになります。
そのままでも使えますが、通常それをリスト型にキャストして使います。

lambda を使って書くとシンプルになります。

filter

filter関数は、用意した関数を使って、要素を絞り込んでくれます。

filter型のオブジェクト = filter(関数, リストのような要素の集まり)

lambda を使って書くとシンプルになります。

リスト内包表記

シンプルな記述で、とあるリストから、とあるリストを生成できます。
先程のmapとfilterの例もリスト内包表記で書けます。

ifを含む場合は後ろに付けます。

リスト内包表記で抽出の例

filterとlambdaでも同じことが出来ます。

結果
秋田犬 大型犬 日本
北海道犬 中型犬 日本
柴犬 小型犬 日本

dogsというリストからリスト内包表記で抽出して、dogs2というリストを作り、それを表示しています。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする