如何在python中声明变量?

2024-09-29 21:23:44 发布

您现在位置: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

我会很高兴看到我哪里出错了!你知道吗


Tags: 数据in密码forsignallenrange数组
2条回答

使用普通列表而不是numpy非常简单:

signal = [1] * 20
first_3_points = signal[:3]
signal[:3] = [0] * 3

原始代码中的循环似乎没有必要。你知道吗

看起来你的应用程序更适合使用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中的原始元素。你知道吗

相关问题 更多 >

    热门问题