1
a = [[1,2,3],[4,1],[2,2,6],[3]]

の合計は24を出力します

[1,2,3]私は自分ができるような単一のリストを知っていますsum(a)が、ネストされたリストに苦労しています。

ありがとうございました。

4

2 に答える 2

6

これにより、新しい一時リストは作成されません。

sum(sum(b) for b in a)
于 2013-03-14T15:47:42.720 に答える
3
sum(sum(a, []))

内部合計は、すべての個々のリストを1つのリストに結合します。次に、外側の合計が実際の合計を求めます。

複数の深さでネストされているリストの場合、これを使用できます。

def recursiveSum(data):
    try:
        total = 0
        for item in data:
            total += recursiveSum(item)
        return total
    except TypeError: #data isn't iterable, it's probably a number
        return data

print recursiveSum([[[[1,2,3],[4,1]],[2,2,6]],3])

出力:

24
于 2013-03-14T15:43:58.737 に答える