Same variable name for different values in nested loops.

前端 未结 6 1090
囚心锁ツ
囚心锁ツ 2020-12-22 12:26

This code is perfectly valid Python

x=[[1,2,3,4], [11,22,33,44]]
for e in x:
    for e in e:
        print e

Can someone please tell me why

6条回答
  •  不思量自难忘°
    2020-12-22 12:57

    Because second e binds after first e evaluates to list. So, all other iteration steps take items not from variable, but from list. For example, in next code reassinging to e has no effect on iteration:

    for e in x:
        for i in e:
            print i
            e = [8, 8, 8]
    

提交回复
热议问题