1. 程式人生 > >Python中sum函式的詳細用法說明

Python中sum函式的詳細用法說明

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# sum的最常見用法計算一個序列的累加和
print(sum([1, 2, 3]))
# 6

# # sum 函式原型是 sum(iterable, start), 還可以給個初始值
print(sum([1, 2, 3], 10))
# 16

# 另外一個比較Hack一些的用法, 展開2層的巢狀列表
iterable = [[1, 2], [3, 4], [5, 6], [7, 8]]
start = [0]
print(sum(iterable, start))
# [0, 1, 2, 3, 4, 5, 6, 7, 8]

# sum函式是和下面的過程是等效的
for element in iterable:
    start += element
print(start)
# [0, 1, 2, 3, 4, 5, 6, 7, 8]

# 實際上sum可以看成reduce()的特殊情況
from functools import reduce
from operator import add
start = []
print(reduce(add, iterable, start))
# [1, 2, 3, 4, 5, 6, 7, 8]