1. Learn
  2. /
  3. 课程
  4. /
  5. Python 函数入门

Connected

道练习

Reduce() 与 lambda 函数

您已经非常熟练地使用 lambda 函数了!再给您的工具箱增加一个函数。reduce() 函数用于对列表执行某种计算,并且与 map() 和 filter() 不同,reduce() 返回的是单个值。要使用 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() 调用中,传入一个 lambda 函数,该函数接收两个字符串参数 item1 和 item2 并将它们连接起来;同时传入字符串列表 stark。将结果赋值给 result。reduce() 的第 1 个参数应为该 lambda 函数,第 2 个参数为列表 stark。