Well, thats because python, to save memory and processing time with lists, passes by reference, not by copy.
The way to do what you want is this:
However, if you are going to be passing around lists, and want copies to modify, then do this:
b=a[:] to do a one-level copy of the list's contents. Any lists in the list, as above, will also be passed by reference, not copy.
If you do have nested lists, then take a look at the copy module.