您不认为开头应该是数字吗?
start是 数字,默认情况下;
0,根据您引用的文档。因此,当您执行例如:
sum((1, 2))
它被视为
0 + 1 + 2等于
3并且等于所有人都感到高兴。如果要从其他数字开始,则可以提供该数字:
>>> sum((1, 2), 3)6
到现在为止还挺好。
但是,您还可以使用其他东西
+,例如列表:
>>> ['foo'] + ['bar']['foo', 'bar']
但是,如果尝试使用
sum此方法,但期望得到相同的结果,则会得到
TypeError:
>>> sum((['foo'], ['bar']))Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> sum((['foo'], ['bar']))TypeError: unsupported operand type(s) for +: 'int' and 'list'
因为它正在做
0 + ['foo'] + ['bar']。
要解决此问题,您可以提供自己的
startas
[],这样它就变得
[] + ['foo'] + ['bar']一切都很好。所以回答:
为什么
[]可以在这里写?
因为虽然
start默认为一个数字,它不 具备 成为一个; 也可以添加其他内容,这对于 与您当前正在执行的 操作 完全一样的 方便。


![内置函数sum对sum(list,[])有什么作用? 内置函数sum对sum(list,[])有什么作用?](http://www.mshxw.com/aiimages/31/624787.png)
