转自 : 廖雪峰python教程
**这段程序使用了filter过滤器对素数进行筛选,令人惊讶的是用于筛选的序列是一个惰性序列**#!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on Sat Feb 4 21:01:44 2017@author: jyhkylin"""def _odd_iter(): n = 1 while True: n = n + 2 yield ndef _not_divisible(n): return lambda x: x % n > 0def PRimes(): yield 2 it = _odd_iter() # 初始序列 while True: n = next(it) # 返回序列的第一个数 yield n it = filter(_not_divisible(n), it) # 构造新序列for n in primes(): if n < 1000: print(n) else: break新闻热点
疑难解答