观察到[1, 2] + [3, 4]yielded [1, 2, 3, 4],我推断sum([[1, 2], [3, 4]])应该做同样的事情,但是我得到了这个错误:
TypeError: unsupported operand type(s) for +: 'int' and 'list'
有人可以解释一下吗?我知道我可以使用itertools.chain,但为什么这不起作用?
sum将执行以下操作:
result = 0element输入列表中的每个:result += elementresult所以第二步会产生这样的错误。你想做什么result += element,在哪里result = 0和element = [1, 2]。这应该会产生 TypeError。
苏梅像这样工作
sum([[1,2], [3,4]])
正如您在 sum function 的文档中看到的那样, sum 通过将每个新元素添加到先前保存的值来工作。在这种情况下,您尝试添加 [3,4] + 1 这将导致错误,因为添加 list 和 int 没有意义。