我见过一些使用列表理解和map reduce的优雅的python代码片段。你能分享一些这些代码或者一个网站吗?
谢谢。
发布于 2010-01-19 21:59:41
Python不是lisp语言。请不要试图让它看起来是那样的。它只是降低了python的一个最大的优势,那就是它的可读性和可理解性。
如果您喜欢函数式编程,请学习Haskell、ML或F#。你会惊讶于这些语言所提供的东西(首先是纯函数)。
发布于 2010-01-19 20:26:59
这里有一些很好的函数式样式片段:Functional Programming HOWTO
发布于 2010-01-20 00:47:34
在使用函数式风格编写python时要小心。这样做的唯一原因是为了可读性。如果算法在功能上比命令上表达得更优雅,而且它不会导致性能问题(通常不会),那么就继续吧。
然而,python没有优化尾递归,并且有一个固定的递归限制为1000,因此您通常不能执行O(n)递归,只能执行O(log(n))。
此外,在Python3中删除了reduce(),这是有充分理由的( http://www.artima.com/weblogs/viewpost.jsp?thread=98196 )。reduce的大多数重要用法作为普通循环而不是reduce更具可读性,而且sum()已经内置。
https://stackoverflow.com/questions/2093388
复制相似问题