码迷,mamicode.com
首页 > 编程语言 > 详细

Python filter()

时间:2018-06-03 17:36:27      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:素数   yield   序列   ret   函数返回   not   return   def   div   

Python内建的filter()函数用于过滤序列

filter()函数返回的是一个Iterator

filter()也接收一个函数和一个序列

根据返回值是True还是False决定保留还是丢弃该元素

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 = filter(not_divisible(n), it)

上面的代码用filter()过滤出素数

Python filter()

标签:素数   yield   序列   ret   函数返回   not   return   def   div   

原文地址:https://www.cnblogs.com/kwebi/p/9129547.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!