Python里的sum函数
-
- 语法
- 例子
-
- 1. 列表中的元素为数字:
- 2. 列表中的元素为字符串:
- 3. 列表中元素为列表
语法
sum(iterable, start)
- 参数1 iterable,一个可迭代对象,可以是列表、字典、元祖等,重要的是可迭代对象中的元素是可相加的。比如数字、列表是可加的,字符串就不是可加的
- 参数2 start,可选参数,他会被加到可迭代对象的和中,默认是0
例子
1. 列表中的元素为数字:
>>> sum([1,2,3,4]) # print 10
>>> sum([1,2,3,4],10) # print 20
- 1
- 2
2. 列表中的元素为字符串:
sum(['apple','banana']) # 报错,不能把整数和字符串相加
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
- 1
- 2
- 3
- 4
- 5
start参数给成字符串:
sum(['apple','banana'], 'peach') # 报错,sum()不能拼接两个字符串
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sum() can't sum strings [use ''.join(seq) instead]
- 1
- 2
- 3
- 4
- 5
3. 列表中元素为列表
>>> sum([['a','b','c','d'], ['e','f','g']], []) # print ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> sum([['a','b','c','d'], ['e','f','g']]) # 报错,相当于把列表和数字0相加
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'list'
- 1
- 2
- 3
- 4
- 5
- 6
- 7