defis_empty(x):# 过滤list中的空值,保留存在值 return x andlen(x.strip())>0 printfilter(is_empty,["leo",None,"123"," ","","END"])
import math defis_sqr(x):# 过滤1-100中平方根是整数的数 sqr = int(math.sqrt(x)) return sqr*sqr == x printfilter(is_sqr,range(1,101))
defprimes():# 一个计算100以内素数的函数 yield2 it = _odd_iter() # 初始序列 whileTrue: n = next(it) # 返回序列的第一个数 yield n it = filter(_odd_iter(n),it) # 构造新序列 for n in primes(): # 由于primes()是一个无限序列,所以调用时需设置一个退出循环的条件: if n <1000: print(n) else: break