Skip to main content
 首页 » 编程设计

python之使用递归在 Python 中对多维数组中的数字求和

2025年05月04日14cloudgamer

我想在 Python 中使用递归对多维数组中的数字求和:

tab = [7, 5, [3, 6, [2]], 7, [1, [2, 3, [4]], 9, 2], 4] 

我尝试过一些东西,例如这个:

sum(map(sum, tab)) 

它适用于简单的数组,例如[[1, 2], [3, 4]],但它不适用于最上面的那个。我收到此错误:

TypeError: 'int' object is not iterable

有什么想法吗?

请您参考如下方法:

一种方法:

tab = [7, 5, [3, 6, [2]], 7, [1, [2, 3, [4]], 9, 2], 4] 
 
def r_sum(tab): 
    return sum(r_sum(item) if isinstance(item, list) else item for item in tab) 
 
r_sum(tab) 
# 55