在python中编写map函数
你好
今天我使用两个map调用将0
1
字符串上的掩码转换为boolean:
>>> a, b = '10'
>>> a, b = map(int, (a, b))
>>> a, b = map(bool, (a, b))
>>> a, b
(True, False)
如何只使用一张地图?
答案 0 :(得分:4)
Python没有函数组合运算符,因此没有内置的方法可以做到这一点。在这种特定情况下,将map
调用减少到一行的最简单方法是使用lambda:
a, b = map(lambda x: bool(int(x)), (a, b))
你可以很容易地编写一个更通用的compose
function,然后使用它:
def compose(*fns):
return reduce(lambda f, g: lambda x: f(g(x)), fns, lambda x: x)
a, b = map(compose(bool, int), (a, b))
但说实话,后一种方法在这里似乎有些过分。
答案 1 :(得分:1)
您可以使用两个列表推导而不是val consumer = new ConsumerService[String](QueueName.CONSUME, (this.process _).asInstanceOf[Consumer[String]])
来完成一行代码中的工作:
map()