On Friday, December 22, 2017 at 8:41:29 AM UTC-5, Tim Williams wrote: > On Thursday, December 21, 2017 at 12:18:11 PM UTC-5, MarkA wrote: > > On Thu, 21 Dec 2017 07:05:33 -0800, rafaeltfreire wrote: > > From docs.python.org: > > > > 8.10. copy — Shallow and deep copy operations > > > > Source code: Lib/copy.py > > > > Assignment statements in Python do not copy objects, they create bindings > > between a target and an object. For collections that are mutable or > > contain mutable items, a copy is sometimes needed so one can change one > > copy without changing the other. This module provides generic shallow and > > deep copy operations (explained below)... > > > > > > > Dear community, I am having the following problem when I am assigning > > > the elements of a vector below a certain number to zero or any other > > > value. > > > I am creating a new variable but Python edits the root variable. Why? > > > > > > import numpy as np > > > > > > X=np.arange(1, 10000, 1) #root variable x1=X x1[x1<10000]=0 > > > > > > print(X) > > > Out[1]: array([ 0., 0., 0., ..., 0., 0., 0.]) > > > > > > Why????????? It is supposed to be the original value Thank you for your > > > time Rafael > > > > > > > > -- > > MarkA > > > > We hang petty theives, and appoint the great theives to public office > > -- Aesop > > Shouldn't the OP just create a list for what he want's to do? > > X = list(np.arange(1, 10000, 1)) #root variable x1=X x1[x1<10000]=0 > > Then I think his other statements would do what he expects, no?
Disregard what I just posted. I didn't think this through enough. -- https://mail.python.org/mailman/listinfo/python-list