Discuss / Python / 请问第一次next(it),即n=3时那么 it= filter(_not_divisible(n), it)这句话怎么执行

请问第一次next(it),即n=3时那么 it= filter(_not_divisible(n), it)这句话怎么执行

Topic source

Waslay__

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

是_not_divisible(n)这个函数依次作用it的每个参数还是说,只作用it的第一个生成器的5就结束了?如果还作用于it的不断生成5,7,9,11,。。。那这个函数不就无限执行了吗?

Waslay__

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

我可能明白了,就是说,这只是一个有规律的序列,关键在于‘规律’上,而不是实际全部执行是吧? 就是这样(规律,规律为5,7,11,13,17,19,23,25,29....) 下一次就是(规律,规律为7,11,13,17,19,23,29。。。)是这样吗

由于it序列是惰性的,真正的计算过程应该是:对最初的奇数序列的每个值,都会计算是否会被已知的素数序列的某个元素整除。

  • 1

Reply