最近のPythonの宿題の場合、リスト内で単語 'd'で始まる単語を返す関数を作成するように割り当てられました。ネストされたif文をラムダ関数(python)に変換する方法
def filter_words(word_list, letter):
'''
INPUT: list of words, string
OUTPUT: list of words
Return the words from word_list which start with the given letter.
Example:
>>> filter_words(["salumeria", "dandelion", "yamo", "doc loi", "rosamunde",
"beretta", "ike's", "delfina"], "d")
['dandelion', 'doc loi', 'delfina']
'''
letter_list = []
for word in word_list:
if word[0] == letter:
letter_list.append(word)
return letter_list
私は程度満足しているコード、実行したときに、私は作品を書いた上記の場合はネストされた声明(:D)をここに関連するコードです。しかし、より多くのpythonicと言語に敏感にしようとすると、私はwhy Lambda functions are usefulと非常に有用な記事を発見した可能性がラムダでこの同じ課題を解決する方法が、私はこの場合に動作させる方法を見つけることができませんでした。
ラムダ関数として上記のネストされたif文を書く方法についてのガイダンスをお願いします。条件は次のようになり場合ように
'[(ラムダX:X)(単語)で単語(ラムダX:X)用(letter_list)の場合(
しかし、何をやっている表現する簡潔な方法がありますラムダx、y、z:x [y] == z)(単語、x、文字)] ' – donkopotamus