我想创建一个生成器来生成任意两个输入生成器的交集

用户9199674

我有一个生成素数的生成器和另一个生成斐波那契数的生成器,我想创建一个生成器来生成上述生成器或任何两个输入生成器的交集。

def primes():
    yield 2
    i = 3
    while True:
        if is_prime(i):
            yield i
        i += 2
def is_prime(num):
    count = 0
    for i in range(2, num):
        if num % i == 0:
            count = 1
    if count == 0:
        return True
    else:
        return False
def fibonacci_numbers():
    yield 1
    a = 0
    b = 1
    while True:
        c = a+b
        yield c
        a = b
        b = c
用户9199674

生成在 primes() 和 fibonacci_numbers() 中常见的无限数字序列的生成器是:

def common(pgen, fgen):
p = next(pgen)
f = next(fgen)
while True:
    if p == f:
        yield p
        f = next(fgen)
        p = next(pgen)
    elif p > f:
        f = next(fgen)
    elif f > p:
        p = next(pgen)

def test():
cgen = common(primes(), fibonacci_numbers())
assert 2 == next(cgen)
assert 3 == next(cgen)
assert 5 == next(cgen)
assert 13 == next(cgen)
assert 89 == next(cgen)
assert 233 == next(cgen)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何制作一个行生成器表达式来生成这两个不同的列表

来自分类Dev

Makefile生成器创建两个文件

来自分类Dev

从生成器创建两个串联的数组

来自分类Dev

Makefile生成器创建两个文件

来自分类Dev

如何定义一个ScalaCheck生成器来生成序列元素的子集?

来自分类Dev

我如何创建只有一个特殊字符的生成器字符串?

来自分类Dev

来自两个itertools生成器的组合

来自分类Dev

两个同时生成器函数,Python

来自分类Dev

元组生成器的两个不同列表

来自分类Dev

如何传递一个空的生成器参数?

来自分类Dev

python,生成器迭代一个或多个项目

来自分类Dev

如何构建一个简单的令牌生成器

来自分类Dev

Python生成器返回最后一个项目

来自分类Dev

需要一个简单的线梯度生成器

来自分类Dev

我有两个生成器,我希望将依赖关系链接到

来自分类Dev

创建一个从字符串生成器派生的类以追加任意数量的字符串

来自分类Dev

如何将一个元组的Python生成器拆分为2个单独的生成器?

来自分类Dev

如何将具有两个生成器的列表推导重新表达为具有一个生成器的两个列表推导,并得到相同的结果?

来自分类Dev

用一些常量和其他变量创建一个生成器

来自分类Dev

我想创建一个Twitter用户名生成器,用于检查是否将Twitter作为用户名使用了随机字符串

来自分类Dev

如何为Hibernate中的每个公司创建一个customerNumber生成器

来自分类Dev

创建一个具有偶数概率的随机int生成器

来自分类Dev

创建一个生成器以从列表中产生随机数

来自分类Dev

使用 TMVar 创建一个独特的基于时间的 ID 生成器

来自分类Dev

因此,我试图建立一个单词生成器,使不存在的单词

来自分类Dev

如何计算由随机数生成器的两个组数据创建的2个集合的总和?

来自分类Dev

从生成器创建列表

来自分类Dev

如何在Scalatest中使用forAll仅生成生成器的一个对象?

来自分类Dev

使一个随机的mac地址生成器仅生成单播mac

Related 相关文章

  1. 1

    如何制作一个行生成器表达式来生成这两个不同的列表

  2. 2

    Makefile生成器创建两个文件

  3. 3

    从生成器创建两个串联的数组

  4. 4

    Makefile生成器创建两个文件

  5. 5

    如何定义一个ScalaCheck生成器来生成序列元素的子集?

  6. 6

    我如何创建只有一个特殊字符的生成器字符串?

  7. 7

    来自两个itertools生成器的组合

  8. 8

    两个同时生成器函数,Python

  9. 9

    元组生成器的两个不同列表

  10. 10

    如何传递一个空的生成器参数?

  11. 11

    python,生成器迭代一个或多个项目

  12. 12

    如何构建一个简单的令牌生成器

  13. 13

    Python生成器返回最后一个项目

  14. 14

    需要一个简单的线梯度生成器

  15. 15

    我有两个生成器,我希望将依赖关系链接到

  16. 16

    创建一个从字符串生成器派生的类以追加任意数量的字符串

  17. 17

    如何将一个元组的Python生成器拆分为2个单独的生成器?

  18. 18

    如何将具有两个生成器的列表推导重新表达为具有一个生成器的两个列表推导,并得到相同的结果?

  19. 19

    用一些常量和其他变量创建一个生成器

  20. 20

    我想创建一个Twitter用户名生成器,用于检查是否将Twitter作为用户名使用了随机字符串

  21. 21

    如何为Hibernate中的每个公司创建一个customerNumber生成器

  22. 22

    创建一个具有偶数概率的随机int生成器

  23. 23

    创建一个生成器以从列表中产生随机数

  24. 24

    使用 TMVar 创建一个独特的基于时间的 ID 生成器

  25. 25

    因此,我试图建立一个单词生成器,使不存在的单词

  26. 26

    如何计算由随机数生成器的两个组数据创建的2个集合的总和?

  27. 27

    从生成器创建列表

  28. 28

    如何在Scalatest中使用forAll仅生成生成器的一个对象?

  29. 29

    使一个随机的mac地址生成器仅生成单播mac

热门标签

归档