[英]How variables are declared in python?
我认为这是有问题的。 我正在尝试执行一些分析的数据集数组。 这就是我要做的。 例如说以下是数组
signal=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1...]
,我想获取存储在某处的数据点0:3
,我需要它们,也替换那些0:3
与零。 这是我的方法,但是最终结果正确,但是存储的0:3
数据点也变成了零。 有人可以帮我从这里出去吗。 我认为这很简单,但是过去几天我一直在与之作斗争。 提前致谢!
这是我的代码:
n = len(signal)
for i in range(n):
first_3points = signal[0:3]
signal[0:3] = 0
trancated_signal = signal
看到我哪里出错了,我将感到非常高兴!
看起来numpy可以更好地服务于您的应用程序,而numpy可以很好地与表示信号样本的数组一起使用。 您可能已经在使用numpy了,因为如果signal
是一个列表,则分配signal[0:3] = 0
会引发TypeError
。 这是我使用numpy的方法:
import numpy as np
N = 256
signal = np.ones(N)
first3 = signal[0:3].copy()
signal[0:3] = 0
请注意,如果你不使first3
第一元素的副本signal
,它只是成为一个视图到signal
,而当你改变元素signal
,也改变first3
。 如果我正确理解了您的问题,则您尝试在更改它们之前在first3
保存signal
中的原始元素。
使用普通列表而不是numpy,这非常简单:
signal = [1] * 20
first_3_points = signal[:3]
signal[:3] = [0] * 3
原始代码中的循环似乎是不必要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.