Python中使用递归
递归指直接或间接地调用自身以进行循环的函数。尽管递归在内存空间和执行时间方面可能效率较低,但它允许程序遍历任意的、不可预知形状的结构,在部分情况下有不可替代的作用。
遍历特殊形状的结构
计算如下一个嵌套子列表结构中所有数字的和:[1, [2, [3, 4], 5], 6, [7, 8]]
程序:
def sumtree(L):
tot = 0
for x in L:
if not isinstance(x, list):
tot += x
else:
tot += sumtree(x)
return tot
L = [1, [2, [3, 4], 5], 6, [7, 8]]
print(sumtree(L))
参考:
Python学习手册