List assignment to other list
<p>Is there a reason that assigning a list to another list and changing an item in one reflects the change in both, but changing the entire list of one does not reflect the change in both?</p>

<pre><code>a=5
b=a
a=3
print b #this prints 5

spy = [0,0,7]
agent = spy
spy[2]=8
print agent #this prints [0,0,8]

spy = [0,0,7]
agent = spy
spy = "hello"
print agent #this prints [0,0,7]
</code></pre>
