arr = [1,2,3,[4,5,6,[7,8,9],10],11,12,[13,14,[15,16]],[17]]
def gen(li):
for i in li:
if isinstance(i,list):
gen(i)
else:
print i
gen(arr)
输出的结果就是按顺序遍历的结果,但是如果把 gen(i)改成 return gen(i)就只能遍历到 9,不加 return 能从 9 再跳到父级数组继续遍历,这里面的原理是什么?
1
neosfung 2018-01-03 17:36:36 +08:00
到 9 的时候,return gen(i),打印 9,并返回 None,None 层层传递,就这样了
|
2
ballshapesdsd 2018-01-03 17:42:56 +08:00
你不会手动执行下
|