1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonの関数入門

Connected

演習

Reduce() と lambda 関数

lambda 関数の使い方がとても上達していますね。ここでスキルにもう1つ関数を加えましょう。reduce() 関数は、リストに対して何らかの計算を実行し、map() や filter() と異なり、結果として単一の値を返すときに便利です。reduce() を使うには、functools モジュールからインポートする必要があります。

少し前の演習の gibberish() を覚えていますか?

# Define gibberish
def gibberish(*args):
    """Concatenate strings in *args together."""
    hodgepodge = ''
    for word in args:
        hodgepodge += word
    return hodgepodge

gibberish() は、引数として文字列のリストを受け取り、それらすべてを連結したものを単一の値として返すだけの関数です。この演習では、reduce() と、文字列を連結する lambda 関数を使って、この機能を再現します。

指示

100 XP
  • functools モジュールから reduce 関数をインポートしてください。
  • reduce() の呼び出しでは、2つの文字列引数 item1 と item2 を受け取りそれらを連結する lambda 関数と、文字列のリスト stark を渡します。結果を result に代入してください。reduce() の第1引数は lambda 関数で、第2引数はリスト stark です。