【发布时间】:2020-11-26 16:38:35
【问题描述】:
我正在尝试将此 for 循环重写为一个函数,以使其适用于不同的时间序列。这非常简单,但由于某种原因,该功能存在错误。目标是用前一个值减去当前值:
【问题讨论】:
-
请注意,在您开始使用的代码中,它显示为
diff.append(value),在您为函数编写的代码中,它显示为diff = diff.append(value)?为什么要改变它?
我正在尝试将此 for 循环重写为一个函数,以使其适用于不同的时间序列。这非常简单,但由于某种原因,该功能存在错误。目标是用前一个值减去当前值:
【问题讨论】:
diff.append(value),在您为函数编写的代码中,它显示为diff = diff.append(value)?为什么要改变它?
append 不返回修改后的列表,而是在原地修改它。这意味着
diff = diff.append(value)
会将None 分配给diff,从而导致您的问题。
你只需要
diff.append(value)
就像你在原始循环中所做的那样。
【讨论】: