我本来想算几个Int值相加的和,本以为很简单的事情,结果却很悲伤,例
>>>sum = sum(1,2,3) #结果很明显出现问题报错 TypeError: sum expected at most 2 arguments, got 3
傻乎乎的我以为只能算前两个数的和等于3,就又试了一下
>>>sum = sum(1,2) #结果还是报错 TypeError: 'int' object is not iterable
其实,我们所了解sum()函数语法是这样的
sum(iterable[, start])
其中
-
iterable – 可迭代对象,如:列表(list)、元组(tuple)、集合(set)、字典(dictionary)。
-
start – 指定相加的参数,如果没有设置这个值,默认为0。
也就是说sum()最后求得的值 = 可迭代对象里面的数加起来的总和(字典:key值相加) + start的值(如果没写start的值,则默认为0) 所以,我所求的几个int值的和可以写成这样
>>>sum = sum([1,2,3]) # in list 6
如果我们加上start的话,应该是这样的
>>> sum = sum([1,2,3],5) #in list +start 11 >>> sum = sum((1,2,3)) #in tuple 6 >>> sum = sum({1,2,3}) #in set 6 >>> sum = sum({1:5,2:6,3:7}) #in dictionary key 6 >>> sum = sum(range(1,4)) #in range() 6
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)