天在学习的过程中,误用sum()函数,我又去查了查python sum()函数才恍然大悟。
我本来想算几个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
1
2

如果我们加上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()

学习这些过后,我们就可以正确的运用sum()函数了。

别指望着看一遍就能记住和整掌握什么 – 请看第二遍,第三遍。

相关资源:
http://www.dcsdn.com/doc/do-3728
http://www.dcsdn.com/doc/do-3662
http://www.dcsdn.com/doc/d-3573

版权声明:本文为CSDN博主「煦安_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/amuchena/article/details/89060798

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐