1. Learn
  2. /
  3. 课程
  4. /
  5. Python 工具箱

Connected

道练习

构建一个生成器

在前面的练习中,您主要编写了使用推导式语法的生成器表达式。能够用推导式来写生成器表达式,让您的工作轻松了很多!

现在回忆一下视频中的内容:除了生成器表达式,还有「生成器函数」。生成器函数与生成器表达式类似,会按序产生一系列值,而不是返回单个值。定义生成器函数与普通函数相同,但在产生值时使用关键字 yield,而不是 return。

在本练习中,您将创建一个生成器函数,其机制与您在上一个练习中定义的生成器表达式类似:

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

说明

100 XP
  • 补全函数 get_lengths() 的函数头,该函数只有一个参数 input_list。
  • 在函数定义中的 for 循环里,yield 出 input_list 中每个字符串的长度。
  • 补全用于打印由 get_lengths() 生成器函数产生的值的 for 循环的可迭代部分。调用 get_lengths(),并传入列表 lannister。