开发者社区> 问答> 正文

python问题: filter+无限生成器,循环filter怎么弄?

python问题: filter+无限生成器,循环filter怎么弄?

展开
收起
游客ahv54x37wvm7u 2021-10-31 15:52:37 448 0
1 条回答
写回答
取消 提交回答
  • Python 2.x下需导入itertools库的ifilter才能和python 3.x的filter等效

    import itertools def _odd_iter(): n=1 while True: n=n+2 yield n def _not_divisible(n): return lambda x:x%n>0 def primes(): yield 2 it=_odd_iter() while True: n=next(it) yield n #it=itertools.ifilter(_not_divisible(n),it) it = itertools.ifilter(lambda x, n=n: x%n > 0, it) for n in primes(): if n<1000: print(n) else: break

    2021-10-31 15:52:53
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载