首页 > 解决方案 > 遍历对结果和下一个值进行操作的列表

问题描述

我有一个排序的对象列表

l = sorted(['/path/to/1.obj', '/path/to/2.obj', '/path/to/3.obj', '/path/to/4.obj'])

我想遍历对它们执行操作的对象并使用结果来执行下一个操作。

例如

result1 = my_operation(l[0], l[1])
result2 = my_operation(result1, l[2])
resultFinal = my_operation(result2, l[3])

如何在任意长度的列表中执行此操作?

标签: pythonpython-3.xwordpress

解决方案


这正是reduce所做的:

from functools import reduce

def my_operation(total, value):
    return total + value

print(reduce(my_operation, [1,2,3,4]))

推荐阅读