如何在 FastAPI 中对同一数据元素应用多种方法

How to apply multiple methods on the same data element in FastAPI

我想对作为我的 API 端点 (FastAPI) 的参数接收的字符串变量执行以下处理,如下所示,我有 30 个函数需要应用到字符串变量。 我有点迷茫,真的不知道该怎么做,我应该了解的任何提示或概念都可以帮助解决问题。


代码:

 
def func1(data):
    return True
def func2(data):
    return True
def func3(data):
    return True
...

def func30(data):
    return True


@app.get("/process/{data}")
def process(data):
    # Apply all the methods on the data variable 
    return response ```

----------


thank you

您可以将 map 与函数列表一起使用并将其转换为列表,因为 map 是延迟计算的。如果不需要,您可以忽略该列表。

def apply(data, functions):
    return list(map(lambda f: f(data), functions))
from functools import reduce
from typing import Callable, Iterable, Any


def apply(funcs, data):
    return reduce(lambda tmp, func: func(tmp), funcs, data)


funcs = [
    lambda x: x + 'a',
    lambda x: x + 'b',
    lambda x: x + 'c',
    lambda x: x + 'd',
]

print(apply(funcs, ''))  # Result is 'abcd'