You're trying to write the equivalent of a mutator method: http://en.wikipedia.org/wiki/Mutator_method
The alternative to a mutator is a function, which takes in an argument and returns something. In this case, a function would take a list and return the same list but a new value as it's second part. That would be this for example f[lst_]:=ReplacePart[lst,newvalue,2]. You can change the value of a list by running lst = f.
In programming you often have the choice between a mutator method and a function. Without going into too much detail, a function is generally preferable (unless there's a good reason). In fact a lot of programming languages don't allow mutators.
You can write a mutator method in Mathematica. Here's an example of a function that increments it's input by one:
SetAttributes[f, HoldAll];f[x_] := (x = x + 1);
I've use HoldAll as an attribute to prevent x from evaluating into a number which would present Set (=) from working.