1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

lambda

Posted at
先頭を大文字に1
l = ['Apple', 'banana', 'orange', 'Strawberry', 'cherry']

def change_words(func, words):
    for word in words:
        print(func(word))

def capit_func(word):
    return word.capitalize()

change_words(capit_func, l)
先頭を大文字に1の実行結果
Apple
Banana
Orange
Strawberry
Cherry

capi_func関数は、引数wordの先頭を大文字にする関数である。
これをlambdaを使えば、コード量を減らすことができる。

先頭を大文字に2
l = ['Apple', 'banana', 'orange', 'Strawberry', 'cherry']

def change_words(func, words):
    for word in words:
        print(func(word))

capit_func = lambda word: word.capitalize()

change_words(capit_func, l)

わざわざ、
capit_funcを定義しないで、
change_words関数の引数に直接書く事も可能で、
更にコード量を減らすことが可能である。

先頭を大文字に3
l = ['Apple', 'banana', 'orange', 'Strawberry', 'cherry']

def change_words(func, words):
    for word in words:
        print(func(word))
        
change_words(lambda word: word.capitalize(), l)

このlambdaは、
ファンクションがcapit_func関数だけでなく、
複数ファンクションが必要な場合に威力を発揮する。

複数ファンクション
l = ['Apple', 'banana', 'orange', 'Strawberry', 'cherry']

def change_words(func, words):
    for word in words:
        print(func(word))

change_words(lambda word: word.capitalize(), l)
change_words(lambda word: word.lower(), l)
複数ファンクションの実行結果
Apple
Banana
Orange
Strawberry
Cherry
apple
banana
orange
strawberry
cherry

もし、
lambdaを使わなかったら、

複数ファンクション2
l = ['Apple', 'banana', 'orange', 'Strawberry', 'cherry']

def change_words(func, words):
    for word in words:
        print(func(word))
        
def capit_func(word):
    return word.capitalize()

def low_func(word):
    return word.lower()
    
change_words(capit_func, l)
change_words(low_func, l)

と書かねばならない。
capit_func関数とlow_func関数の2つの関数を定義する事が必要となる。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?