水木论坛看到的这个问题, 觉得有意思, 就写了下
如L = [1, [2, [3, 4], 5], 6, [7, 8]]
这个 list
求平均值, 用到了递归
def get_avg(L):
count=0
def scantree(L):
nonlocal count
total = 0
for x in L:
if not isinstance(x, list):
total += x
count += 1
else:
total += scantree(x)
return total
return scantree(L) / count
L = [1, [2, [3, 4], 5], 6, [7, 8]]
print(get_avg(L))
采用generator
重写一下上面的代码
|
|
测试
|
|