gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 22:35:03 24 4
gpt4 key购买 nike

我正在尝试从 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com