我对Python没有太多经验。我正在尝试像在Java和JavaScript中一样以函数式编程的方式编码。
var result = getHeroes('Jedi')
.map(hero => { hero: hero, movies: getMovies(hero) })
.filter(x => x.movies.contains('A New Hope'));
我正在尝试在Python中做类似的事情,但我无法得到相同的链式样式。我不喜欢把它分解成两个语句:
tmp = ((hero, get_movies(hero)) for hero in get_heroes('jedi'))
result = ((hero, movies) for (hero, movies) in tmp if movies.contains('A New Hope')
我有两个问题:
- 在Python中有没有一种方法可以接近第一个样式?
- 在Python中完成这个任务的惯用方式是什么?
谢谢。