以下列表自然偶数最多为20,然后列出减少,然后查找满足特定条件的项目索引:
input = [x for x in range(20) if x%2 == 0]
accumulated_input = list(accumulate(input, func=operator.add))
len(list(takewhile(lambda a: a < 30, accumulated_input)))
(是的,我可以通过简单的while
循环解决问题,但我想弄清楚功能样式的工作方式。)
似乎我正在做一些不必要的工作。什么是惯用的功能风格方法? (理想情况下,逐个采用自然数字,将它们加起来直到达到某个数字,然后返回该数字的索引。)