假设以下代码:
my_list = [1,2,3]
for x in my_list:
for y in my_list:
print(x,y)
#implicit next(my_list)
为什么内部隐式next(my_list)不影响外部循环?
答案 0 :(得分:1)
列表是可迭代的。您可以调用iter(my_list)
来检索迭代器。该迭代器独立于其他迭代器将特定索引保存到列表中。
for x in my_list
实际上就像
temp_iter1 = iter(my_list)
try:
while True:
x = next(temp_iter1)
... # Loop code
except StopIteration:
pass