Python:将lambda函数列表应用于没有循环的列表



我有一个lambda函数列表和一个我想应用这些函数的分数列表。

我想在应用这些 lambda 函数后返回一个包含最大分数的新列表。

例如:

calculate_best_scores([lambda x : x + 1, lambda x : x * 2,
lambda x : x - 1], [3, 4, 5]) will return [6, 8, 10] --- the max individual max score after applying the lambda function to.

有人可以给我建议如何仅使用 lambda 函数和映射、过滤和减少而不显式使用循环来做到这一点吗?

谢谢!

你可以试试这个:

>>> functions = [lambda x : x + 1, lambda x : x * 2, lambda x : x - 1]
>>> data = [3, 4, 5]
>>> result = [max([f(x) for f in functions]) for x in data]
>>> result
[6, 8, 10]

最新更新