Python硬件分配简介-需要指导



我必须按照正确的顺序排列这段代码(如下(,以遍历list1并获得正确的10和。它还缺少一行代码(我认为这与.append方法有关?(非常感谢您的任何帮助!!

list1 = [1, [2, 3], 4]
stack = list1.copy()
item = stack.pop(0)
result = 0
while stack:
for e in item:
if type(item) is list:

else:
result += item
print(result)

由于没有更改堆栈的值,您的代码陷入了死循环,请参阅以下代码示例。

  1. 如果你的list1有一个固定的结构,就像问题中的那个,只有一层嵌套,你可以直接使用循环来解决问题:
list1 = [1, [2, 3], 4]
stack = []
result = 0
for item in list1:
if isinstance(item, int):
stack.append(item)
result += item
else:
for num in item:
stack.append(num)
result += num
print(stack, result)
  1. 如果您的list1列表有多层嵌套列表,我们建议使用递归思想首先拆分列表:
def solution(lst):
res = []
for item in lst:
if type(item) is list:
res.extend(solution(item))
else:
res.append(item)
return res
list1 = [1, [2, 3], 4]
stack2 = solution(list1)
print(stack2, sum(stack2))

最新更新