Discuss / Python / filter函数中的这个筛选函数怎么理解?

filter函数中的这个筛选函数怎么理解?

Blown_Wang

#1 Created at ... [Delete] [Delete and Lock User]

我在学习廖老师的python课程时有一个疑问,请大神给帮忙解答一下!

https://www.liaoxuefeng.com/wiki/1016959663602400/1017404530360000

def _not_divisible(n):
    return lambda x: x % n > 0

这个函数怎么理解,这个x值是如何传递和调用的?

def primes():
    yield 2
    it = _odd_iter() # 初始序列
    while True:
        n = next(it) # 返回序列的第一个数
        yield n
        it = filter(_not_divisible(n), it) # 构造新序列

这个_not_divisible(),难道是要遍历it这个iterator,用it中的各个项判断能不能整除n?


  • 1

Reply