当前位置: 首页 > 知识库问答 >
问题:

给定一个大小为N的列表a,我如何创建一个列表B,使得B的每个元素都是a和B的前一个元素的和?

谷梁子濯
2023-03-14

我试图创建一个函数my_function(a),它接受一个由N个数字组成的列表a,并输出一个由N+1个数字组成的列表B,B[0]=0和B[N]=B[n-1]+a[n-1],其中N

例如,如果A是列表[1,2,3,4,5],B[1]=B[0]+A[0]=0+1,B[2]=B[1]+A[1]=1+2,则最终输出为[0,1,3,6,10,15]

我最多只需要使用numpy。

我的密码是

def my_function(A):
   for n in range(len(A)):
      B[0]=0
      B[n]=B[n-1]+A[n-1]
      return B[n]

我找不到没有错误地定义B的方法

共有1个答案

姬俊驰
2023-03-14

您只需要正确地初始化B:

def my_function(A):
    B = [0] * (len(A) + 1) # list with N + 1 Zeros
    for n in range(1, len(A) + 1): # n in 1..N
        B[n] = B[n-1] + A[n-1]
    return B

def my_function(A):
    B = [0] * (len(A) + 1) # list with N + 1 Zeros
    for n in range(len(A)): # n in 0..N-1
        B[n+1] = B[n] + A[n]
    return B

python使用itertools.accumple:

from itertools import accumulate

def my_function(A):
    return [0, *accumulate(A)] # accumulate doesn't start with 0
 类似资料:
  • 我有一个列表和一个字符串数组 我想检查列表A中是否存在元素,删除它,然后删除列表A中数组B中的元素, 如何在Java8中使用流在一行中完成? 这就是从列表A.stream()中删除元素的方式。过滤器(滤芯)-

  • 问题内容: 我有一个数据框,其中某些单元格包含多个值的列表。我不想扩展一个单元格中的多个值,而是想扩展数据框,以便列表中的每个项目都有自己的行(所有其他列中的值都相同)。所以,如果我有: 如何转换为长格式,例如: 索引并不重要,可以将现有的列设置为索引也可以,最后的顺序也不重要。 问题答案: 结果: PS 在这里你可能会发现一些通用的解决方案 更新:一些解释:IMO了解此代码的最简单方法是尝试逐步

  • 问题内容: 我在以下逻辑上遇到麻烦: 可以说我有一个清单 这两个项目都在列表中… 版画 列表中只有第一项… 版画 列表中都没有… 版画 这是一个令人困惑 的列表中仅 第二 项… 版画 我不明白为什么这没有注册为真实的陈述。如何将其推广到具有 n个 条件的 or 语句? __ 3、2、1 … 问题答案: 让我们分解一下表达式: 首先会检查是否为True。如果是,则表达式将返回。如果没有,它将返回。

  • 如果你有一个列表=1,3,5,7,9,... 如果你试图找到列表中的前一个元素(即[t-1],第三个元素是3,即5之前的那个元素),那么这个符号与得到比该元素少一个l(即5-1=4)有什么不同 我有一个增长率的列表,我想要昨天的数据,但我得到的数据总是比今天的少 我认为最后一行的x-1才是问题所在。有什么想法吗?谢谢

  • 我有一个数据框,其中一些单元格包含多个值的列表。我不想在一个单元格中存储多个值,而是希望扩展dataframe,以便列表中的每个项都有自己的行(在所有其他列中都有相同的值)。因此,如果我有: 如何转换为长格式,例如: 索引并不重要,可以将现有列设置为索引,而最终的顺序并不重要。

  • 我想在java中创建一个方法,该方法接收两个字符串列表: