Think Python Exercise 10.1

编写一个叫做 nested_sum 的函数,接受一个由一些整数列表构成的列表作为参数,并将所有嵌套列表中的元素相加。例如:

>>> t = [[1, 2], [3], [4, 5, 6]]
>>> nested_sum(t)
21

解答:

可以分别对每个子列表求和,再对得到的各个和求和。也可以先把各个子列表合并起来,然后对得到的列表求和。

1
2
3
4
5
6
7
8
9
def nested_sum(t):
    c = []
    for i in t:
        c = c + i #把t列表里的各个列表合并成一个列表
    return sum(c)

t = [[1, 2], [3], [4, 5, 6]]

nested_sum(t)