python的sum函数怎么用

 我来答
昙花香168
2018-03-31 · TA获得超过4502个赞
知道小有建树答主
回答量:35
采纳率:0%
帮助的人:8244
展开全部

sum(iterable[, start]) ,iterable为可迭代对象,如:

sum([ ], start)  , #iterable为list列表。

sum(( ), start ) , #iterable为tuple元组

最后的值=可迭代对应里面的数相加的值 + start的值

start默认为0,如果不写就是0,为0时可以不写,即sum()的参数最多为两个,其中第一个必须为iterable。

按照惯例,在开发语言中,sum函数是求和函数,求多个数据的和,而在python中,虽然也是求和函数,但稍微有些差别,sum()传入的参数得是可迭代对象(比如列表就是一个可迭代对象),返回这个被传入可迭代对象内参数的和。

比如:

匿名用户
2016-09-06
展开全部

sum(iterable[, start]) ,iterable为可迭代对象,如:

sum([ ], start)     #iterable为list列表

sum(( ), start )    #iterable为tuple元组

......

最后的值 = 可迭代对象里面的数相加的值 + start的值

start默认为0,如果不写就是0,为0时可以不写

即sum()的参数最多为两个,其中第一个必须为iterable,例如:

>>> sum([1, 2, 3,], 4)

10

>>> sum((1, 2), 3)

6

如果你写成sum([1,2,3]),start就是默认值 0 

>>> sum([1, 2, 3])

6

>>> sum([ ], 2)

2

>>> sum(( ), )

0

>>> sum([1, 2] , 0)

3

当然iterable为dictionary字典时也是可以的:

>>> sum({1: 'b',  7: 'a'})

8

>>> sum({1:'b', 7:'a'}, 9)

17



下面这些写法目前是不被接受的(以list为例,其他iterable同理):

一、

>>> sum([1,2],[3,4])

Traceback (most recent call last):

  File "<pyshell#115>", line 1, in <module>

    sum([1,2],[3,4])

TypeError: can only concatenate list (not "int") to list


二、

>>> sum(4,[1,2,3])

Traceback (most recent call last):

  File "<pyshell#116>", line 1, in <module>

    sum(4,[1,2,3])

TypeError: 'int' object is not iterable


三、

>>> sum()

Traceback (most recent call last):

  File "<pyshell#117>", line 1, in <module>

    sum()

TypeError: sum expected at least 1 arguments, got 0


四、

>>> sum(,2)

SyntaxError: invalid syntax


五、

>>> sum(1,3)

Traceback (most recent call last):

  File "<pyshell#112>", line 1, in <module>

    sum(1,3)

TypeError: 'int' object is not iterable



附其官方解释:

>>> help(sum)

Help on built-in function sum in module builtins:


sum(...)

    sum(iterable[, start]) -> value

    

    Return the sum of an iterable of numbers (NOT strings) plus the value

    of parameter 'start' (which defaults to 0).  When the iterable is

    empty, return start.

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
盗墓者18
2017-11-10 · TA获得超过2028个赞
知道小有建树答主
回答量:820
采纳率:84%
帮助的人:257万
展开全部

按照惯例,在开发语言中,sum函数是求和函数,求多个数据的和

而在python中,虽然也是求和函数,但稍微有些差别,sum()传入的参数得是可迭代对象(比如列表就是一个可迭代对象),返回这个被传入可迭代对象内参数的和。比如:

还可以给一个初始值,比如:

这样得到的结果就是在20基础之上再加上可迭代对象内参数的和

补充一句,sum函数既然只能传入可迭代对象,那么整形数据是不行的,会报错,比如:

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
若数
2015-09-13 · TA获得超过109个赞
知道答主
回答量:66
采纳率:0%
帮助的人:26万
展开全部

sum是python中一个很实用的函数,但是要注意它的使用,我第一次用的时候,就把它这样用了:

s = sum(1,2,3)

结果就悲剧啦

其实sum()的参数是一个list

例如:

sum([1,2,3])

sum(range(1,11))

还有一个比较有意思的用法

a = range(1,11)

b = range(1,10)

c =  sum([item for item in a if item in b])

print c

输出:

45


本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8ed3ecf
2012-03-27
知道答主
回答量:29
采纳率:0%
帮助的人:27.7万
展开全部
sum([1,2,3,4])
, always use help when needed.

>>> help('sum')
Help on built-in function sum in module __builtin__:

sum(...)
sum(sequence, start=0) -> value

Returns the sum of a sequence of numbers (NOT strings) plus the value
of parameter 'start'. When the sequence is empty, returns start.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式