首页 > 解决方案 > 带有函数的列表上的嵌套循环

问题描述

我陷入了困境:

如何用循环表达这种情况?

B1 = func(C , y[0])
B2 = func(B1 , y[1])
B3 = func(B2 , y[2]) #.... and so on.

标签: pythonlistloopsfor-loop

解决方案


第一个参数只是上一个调用的返回值,以 开头C

result = C
for yval in y:
    result = func(result, yval)

正如评论中所指出的,这种模式被经常被忽视的reduce功能所捕获。(被忽略的部分原因是它从内置命名空间降级为functoolsPython 3 中的模块。)

from functools import reduce


result = reduce(func, y, C)

推荐阅读