Python的iter函数-当我在调用之间改变底层迭代器会发生什么?

2024-04-20 03:23:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用iter函数,以允许我在停止时恢复处理列表。据我所知,国际热核聚变实验堆(iter)在情感上把一个列表编成了一个生成器

假设我遍历文件夹名称:

self.foldernames = load_a_list_of_folder_names_from_somewhere()

def some_func(self):
    for foldername in iter(self.foldernames):
        print(foldername)
        break

some_func()
#(prints first folder name)    

#and I decide that my list of foldernames is now out of date and reload it:
timeout = True
if timeout:
    self.foldernames = load_a_list_of_folder_names_from_somewhere()

#what happens when I run some_func again?
some_func()
# (will it start at the beginning of the list again?)  

# Is there some way to remember which position I was in the list and continue from there?

Tags: andofthefromself列表namesload