追加列表的累积列表 python

tav*_*ndo -6 python list extend

我正在尝试以如下方式扩展列表列表:

# Consider the following list of lists
l_Of_l = [ [1], [2], [3], [4], [5], [6], [7]]
Run Code Online (Sandbox Code Playgroud)

期望的结果是:

l_extended = [ [1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6, 7]]
Run Code Online (Sandbox Code Playgroud)

所以基本上列表的大小在累积扩展后保持不变。

编辑:

这是我最初所做的:

l_Of_l = [ [1], [2], [3], [4], [5], [6], [7]]
lista = []
for i in l_Of_l:
    lista.extend(i)
    print(list([i for i in lista]))
Run Code Online (Sandbox Code Playgroud)

但后来的结果是:

[1]
[1, 2]
[1, 2, 3]
[1, 2, 3, 4]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 7]
Run Code Online (Sandbox Code Playgroud)

有谁知道如何以正确的方式实现这一目标?

kan*_*tal 6

使用 itertools 中的累积:

list(itertools.accumulate(l_Of_l))                                                                                              
Out: 
[[1],
 [1, 2],
 [1, 2, 3],
 [1, 2, 3, 4],
 [1, 2, 3, 4, 5],
 [1, 2, 3, 4, 5, 6],
 [1, 2, 3, 4, 5, 6, 7]]
Run Code Online (Sandbox Code Playgroud)