簡體   English   中英

如何在python中聲明變量?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM