1. 学ぶ
  2. /
  3. コース
  4. /
  5. Python ツールボックス

Connected

演習

ジェネレーターを作る

これまでの演習では、主に内包表記の構文を使うジェネレーター式を書いてきました。ジェネレーター式で内包表記を使えると、とても楽になりますよね!

ここで動画の内容を思い出してください。ジェネレーター式だけでなく、ジェネレーター関数 もあります。ジェネレーター関数 は、ジェネレーター式と同様に、単一の値を返すのではなく一連の値を順に生成(yield)する関数です。定義の仕方は通常の関数と同じですが、値を生成するときは return の代わりにキーワード yield を使います。

この演習では、前の演習で定義したジェネレーター式と同じ仕組みを持つジェネレーター関数を作成します。

lengths = (len(person) for person in lannister)

指示

100 XP
  • 単一のパラメータ input_list を取る関数 get_lengths() の関数ヘッダーを完成させてください。
  • 関数定義内の for ループで、input_list に含まれる文字列の「長さ」を yield してください。
  • get_lengths() ジェネレーター関数が生成した値を出力するための for ループのイテラブル部分を完成させてください。リスト lannister を渡して get_lengths() を呼び出します。