我希望能够将值添加到列表中。例如,我有这两个列表:
alist = [1,3,5,7,9]
blist = [0]
我想向 blist 插入一个值,该值是 alist 的值以及 alist 中它之前的所有值。例如,blist 将如下所示:
blist = [0,1,4,9,25]
因为 1 是 alist 中的第一个值,它保持不变,所以我做 1+3 =4、1+3+5 =9,等等。 但是,我很困惑我需要如何去实现它。我有以下代码:
list1 = [1,2,3,4,5]
list2 = [0]
x = 0
while x < len(list1):
blist.append(alist[0])
这会将位置 0 的第一个值附加到 list2 并使 list2 = [0,1]。但是,我不明白如何按照我需要的方式添加值。
请您参考如下方法:
itertools有一个很好的accumulate执行此操作(以及更多操作)的函数:
from itertools import accumulate
alist = [1,3,5,7,9]
blist = [0] + list(accumulate(alist))
# blist is now [0, 1, 4, 9, 16, 25]
