如何更新数组和for循环而不必重新启动程序?

时间:2021-01-05 15:09:34

标签: python arrays function for-loop data-structures

我有一个执行以下任务的 python 脚本。 它执行 for 循环遍历数组项并提供属于该项的相关信息。

我想实时更新数组,并且必须在不重置的情况下执行 for 循环。一些 ML 训练发生在 for 循环内,因此在数组更新时不应重新启动它。同时for循环必须能够检测到数组中的附加项。

'''

arr = [a,b,c]
for i in arr:
    print(i)     #and do something

现在基本上 arr 将通过侦听 DB 列来附加。例如,我做

arr.append(dbData)

我知道我可以使用该函数再次调用 for 循环,但是如何在不重置循环的情况下执行此操作?

感谢您的帮助。如果问题不清楚,请告诉我。

2 个答案:

答案 0 :(得分:0)

另见here

您在列表上创建一个迭代器并根据需要添加到它

arr = [a,b,c]
for i in arr:
    print(i) 

islice(arr,0,len(arr)-1)

查看此 tutorial 以获得有关如何使用 islice 方法的良好介绍

答案 1 :(得分:0)

我不太确定 islice 迭代器。下面的代码给了我正确的输出。

myarr = [1,2,3]
bb = []
while True:
    for a in myarr:
        if len(myarr)==3: #some condition
            bb.append(4)
            myarr.extend(bb)
        print(a, myarr)

谢谢