Python 当生成器 'yield' 遇到 'random'

Python when generator 'yield' encounter 'random'

这里我想生成 5 个字典,其中 'a' 是索引 'i','b' 是一个介于 0 和 5 之间的随机整数。但是结果停留在 'a' =0,它一直从 random.randint(0,5) 生成新的 c,而 'i' 保持不变。如何解决这个问题?非常感谢

def wdg():
    for i in range(5):
        c = random.randint(0,5)
        yield {'a':i,'b':c}

next(wdg())

将生成器分配给一个变量,例如 'generator'。然后每次调用 next(generator) 都会执行一次,导致 i 递增 1 并生成随机 c:

generator = wdg()
print(next(generator))