[英]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.