Haskell提供类似f = f1的功能。 F2
我如何使用Python模仿它?
例如,如果我必须进行两次'map'操作,有没有办法像map那样做。用Python映射?
x = ['1','2','3'] x = map(int,x) x = map(lambda i:i+1, x)
答案 0 :(得分:2)
答案 1 :(得分:1)
有一些compose
操作的提案,但没有一个已经正式化。在此期间,可以使用列表推导或生成器表达式将复杂转换应用于序列。
答案 2 :(得分:1)
def compose(f,g):
return lambda x: f(g(x))
def inc(x): return x+1
map(compose(inc, int), ['1', '2', '3'])
# [2, 3, 4]
答案 3 :(得分:1)
>>> import functional, functools, operator >>> f1 = int >>> f2 = functools.partial(operator.add, 1) >>> f = functional.compose(f1, f2) >>> x = map(f, ['1', '2', '3'])
答案 4 :(得分:0)
这个here有一个很好的配方。