编程语言
首页 > 编程语言> > 在Python中汇总嵌套列表而无需递归

在Python中汇总嵌套列表而无需递归

作者:互联网

给定一个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)

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

标签:nested-lists,sum,python,recursion
来源: https://codeday.me/bug/20191029/1961068.html