1 python
我希望能够将值添加到列表中。例如,我有以下两个列表:
alist = [1,3,5,7,9]
blist = [0]
Run Code Online (Sandbox Code Playgroud)
我想向中插入一个值blist,该值是alist之前具有的所有值alist。例如,blist将是以下内容:
blist = [0,1,4,9,25]
Run Code Online (Sandbox Code Playgroud)
由于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])
Run Code Online (Sandbox Code Playgroud)
这会将第0个位置的第一个值附加到list2,并添加list2 = [0,1]。但是,我不知道如何以我需要的方式添加值。
itertools有一个不错的累加函数可以做到这一点(以及更多):
from itertools import accumulate
alist = [1,3,5,7,9]
blist = [0] + list(accumulate(alist))
# blist is now [0, 1, 4, 9, 16, 25]
Run Code Online (Sandbox Code Playgroud)