我对Python没有太多的经验。我试着用我习惯用Java和JavaScript的函数式编写代码
var result = getHeroes('Jedi')
.map(hero => { hero: hero, movies: getMovies(hero) })
.filter(x => x.movies.contains('A New Hope'));
我试图在Python中做一些类似的事情,但是我不能得到相同的链接样式。我不得不把它分成两种说法,我不喜欢:
^{2}$我有两个问题:
谢谢。在
作为一个热爱函数式编程的人,不要用Python编写函数式的代码。在
这个硬性的规则有点笨拙,当然也有一些方法可以使用一些典型的函数性工具来完成您所要做的事情,比如}(Python中称为
map
,filter
,和{functools.reduce
),但是很可能您的函数代码看起来比sin更难看,在这种情况下,没有理由比命令性的东西更喜欢它而且很漂亮。在这可以通过列表理解来完成,但可能可读性较差。在
^{pr2}$生成器表达式是python方法,但是通过^{} 和^{} 的组合,函数解决方案是可能的:
在我看来,他们在python中以函数式的方式(实际上不是python),使用}:
map
和{pythonic方法(不是很实用)是使用生成器表达式:
^{pr2}$相关问题 更多 >
编程相关推荐