为什么内部循环不影响外部循环?

时间:2019-05-15 18:22:56

标签: python python-3.x

假设以下代码:

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)不影响外部循环?

1 个答案:

答案 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