python - 如何创建新数组减去现有数组的段

标签 python arrays

我正在尝试从 Python 中的现有数组创建新数组。 我读了一些已经存在的和类似的问题,但我仍然无法解决问题。

例如:

我有数组 A = [4,6,9,15] 并且我想创建 B =[(6-4),(9-6),(15- 9)].

我尝试在 for 循环中这样做:

deltaB=[]
for i in range(0,len(A)):
    deltaB[i]=A[i]-A[i-1]
    deltaB.append(deltaB[i])

但这不起作用......可能是因为我编写的代码完全错误,因为我是 Python 和一般编程的新手。

你能帮我写一下代码吗?

非常感谢

最佳答案

列表理解

可能最好的方法是使用列表理解:

[xj-xi for xi,xj in zip(A,A[1:])]

生成:

>>> [xj-xi for xi,xj in zip(A,A[1:])]
[2, 3, 6]

我们首先zip(..) A (列表)和 A[1:]列表的切片,将第一个元素一起省略为元组。对于每个这样的元组 (xi,xj)我们添加xj-xi到列表中。

错误

发生错误是因为 for循环,从 0 开始,在 len(A) 之前停止,应该从 1 开始,到 len(A) 之前停止。 。此外,您不能先分配给不存在的索引,您需要直接附加它:

deltaB=[]
for i in range(1,len(A)):
    deltaB.append(A[i]-A[i-1])

关于python - 如何创建新数组减去现有数组的段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44675785/

相关文章:

单击网页按钮的Python脚本

python - 安装nolearn(python机器学习)导致错误

Python 3 二维列表理解

python - 如何获取使用 JavaScript 构建的 anchor 标记的重定向链接?

python - 为什么 numpy 返回元组给我?

javascript - Google Drawing API 多边形数组 javascript

php - 是否有更好的 PHP 方法可以从数组(字典)中按键获取默认值?

python - 使用 Python 的 XML POST REST 请求

arrays - React 将函数应用于数组中的单个项目

java - 使用 ArrayList<Character> 时标识符无效