python - 在python中不递归地求和嵌套列表

标签 python recursion sum nested-lists

给定一个 Python 列表,其元素是整数或整数列表(只是我们不知道嵌套的深度),我们如何找到列表中每个单独整数的总和?

求一个嵌套只有一层深的列表的总和是相当简单的, 但是,如果嵌套深入两层、三层或更多层会怎样?

我知道最好的方法是递归,但这是一个挑战,我必须在没有递归的情况下完成。

请帮忙!!

最佳答案

L = [...]
while any(isinstance(i, list) for i in L):
   L = [j for i in L for j in (i if isinstance(i, list) else [i])]

result = sum(L)

基本上,您遍历外部列表并解压任何内部列表的第一层,直到没有内部列表为止

关于python - 在python中不递归地求和嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23507666/

相关文章:

python - 通过PID获取进程名

python - tkinter 线程未终止(gif 在无限循环中运行)

python - 如何使用 pysimplegui 在新行中打印列表的每个元素?

python - 如果元素在列表中,将其删除并返回新列表

使用 List<int[]>.add() 重复值的 Java 递归

python - 使用 zip()、map() 函数和 itertools 对 list 中的列表元素求和

python - Pandas 系列的部分总和

python - 正则表达式匹配第一个和最后一个单词或任何单词

c++11 - 铛。 fatal error : recursive template instantiation exceeded maximum depth

总结 ssrs 中的平均列