Consider Below Code(Python)
  k=[45,51,66,11,99,44]
  z=k
  z.reverse()
Here Instead of Z the variable K also Reveresed
So What I need is only child variable z need to be reversed without modifying K variable (list)
Consider Below Code(Python)
  k=[45,51,66,11,99,44]
  z=k
  z.reverse()
Here Instead of Z the variable K also Reveresed
So What I need is only child variable z need to be reversed without modifying K variable (list)
 
    
    >>> k=[45,51,66,11,99,44]
>>> z = k[:]
>>> k.reverse()
>>> k
[44, 99, 11, 66, 51, 45]
>>> z
[45, 51, 66, 11, 99, 44]
This is a well known python behaviour and it has to do with its handling of references.
By doing z=k you're not saying "make a copy of k and assign it to z", but rather you're making both z and k point to the same object, or the same memory location. This has the implicit consequence that any change to z also affects k and vice versa. In other programming languages this behaviour is known as aliasing.
By using z=k[:] i'm using list slicing to explicitly create a new copy of z, and then assigning that new copy to k. That way, they're independent of one another and changes are not applied to both.
