【发布时间】:2018-01-24 15:01:33
【问题描述】:
>>> import functools
>>> functools.reduce(lambda acc, val: acc + 1 if val == ' ' else 0, list("test test test"), 0)
0
我只想计算文本中的空格,所以我希望函数返回2(因为有两个空格)而不是0。
【问题讨论】:
-
"test test test".count(" ")有什么问题? -
学习python,只是想习惯python的lambdas。
-
应该是
else acc。 -
如果您只是想熟悉
lambdas,那么将它与reduce一起使用会模糊问题...也许在map或filter中使用它们来让它专注于 lambda,而不是reduce工作方式的细微差别。 -
@bereal,非常感谢我的朋友,它正在工作!我花了太多时间,把我的脑袋弄坏了!原来如此简单。
标签: python lambda reduce counting