【发布时间】:2021-02-25 05:36:08
【问题描述】:
我有一个函数process,它接收一个函数列表和一个可迭代对象。我想将该列表中的每个函数一个接一个地应用于可迭代。我写的这个很好用,但是......
def process(list_of_funcs, string):
for func in list_of_funcs:
string = ''.join(list(map(func, string)))
return string
ans = process([lambda c: c.upper(), lambda c: c + '0'], "abcd")
print(ans) # A0B0C0D0
我想跳过 for 循环(并以函数式编程方式进行)。在python中有没有办法做到这一点?
【问题讨论】:
-
如果第一个函数是
lambda c: c.upper() * 2,你想得到"AA0BB0CC0DD0"还是"A0A0B0B0C0C0D0D0"? -
后一个 -
A0A0B0B0C0C0D0D0.
标签: python python-3.x lambda functional-programming reduce