【发布时间】:2015-12-31 10:51:00
【问题描述】:
我有一个项目列表,来自一个 A 类型的对象,以及一个对 B 类型的对象进行操作的库。
我想将 A 转换为 B,然后以 Python 方式调用 B 的函数。到目前为止我想出了什么:
def convert_A_to_B(A):
return B(A.something, A.something_else)
def doStuff(a_list):
converted_to_b = list(map(convert_A_to_B, a_list)
return list(map(B.function, converted_to_b))
我可以创建一个 lambda 来组合这些函数,但我觉得应该有一个更简单的方法。比如:
return list(map(combine(convert_A_to_B, B.function)))
【问题讨论】:
-
你为什么要在
map()上为converted_to_b打电话给list()?这在这里完全是多余的。 -
你说得对,不过我需要最后一次转换
-
什么是
combine()?我在 2.7、3.3、3.5 文档中找不到它。 -
Combine 是我正在寻找的一个功能,我也找不到它。它接受一个函数列表并创建一个新函数,该函数调用每个函数,将结果作为参数传递给下一个
-
请善待将此详细信息添加到您的帖子中。 :)
标签: python function dictionary map-function