以下是一个示例代码,用于不断从一个增长的数组中发出值:
import time
def generate_values(array):
index = 0
while True:
if index >= len(array):
# 如果索引超过数组长度,重新从头开始
index = 0
yield array[index]
index += 1
# 创建一个增长的数组
array = [1, 2, 3, 4, 5]
generator = generate_values(array)
# 不断从数组中发出值
while True:
value = next(generator)
print(value)
time.sleep(1)
这个示例代码中,我们定义了一个generate_values
函数,它接受一个数组作为参数。在函数中,我们使用一个无限循环来不断生成数组中的值。如果索引超过了数组的长度,我们将索引重置为0,以重新从数组的开头开始。
然后,我们使用yield
关键字来返回数组中的值。yield
关键字使函数成为一个生成器,可以通过调用next
函数来获取生成器的下一个值。
在主程序中,我们创建了一个增长的数组array
,然后通过调用generate_values(array)
来创建一个生成器generator
。然后,我们使用一个无限循环来不断从生成器中获取值,并打印出来。为了模拟生成值的时间间隔,我们使用time.sleep(1)
来暂停1秒钟。
上一篇:不断从数据库刷新数据