之前误用sum()函数,我又去查了查python sum()函数才恍然大悟。
我本来想算几个Int值相加的和,本以为很简单的事情,结果却很悲伤,例:
>>>sum=sum(1,2,3)#结果很明显出现问题报错 TypeError:sumexpectedatmost2arguments,got3
傻乎乎的我以为只能算前两个数的和等于3,就又试了一下
>>>sum=sum(1,2)#结果还是报错 TypeError:'int'objectisnotiterable
其实,我们所了解sum()函数语法是这样的
sum(iterable[,start])
其中
iterable – 可迭代对象,如:列表(list)、元组(tuple)、集合(set)、字典(dictionary)。
start – 指定相加的参数,如果没有设置这个值,默认为0。
也就是说sum()最后求得的值 = 可迭代对象里面的数加起来的总和(字典:key值相加) + start的值(如果没写start的值,则默认为0)
>>>sum=sum([1,2,3])#inlist 6
如果我们加上start的话,应该是这样的
>>>sum=sum([1,2,3],5)#inlist+start 9 >>>sum=sum((1,2,3))#intuple 6 >>>sum=sum({1,2,3})#inset 6 >>>sum=sum({1:5,2:6,3:7})#indictionarykey 6 >>>sum=sum(range(1,4)#inrange()原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容