The reason that this is happening is because of your first line:
stuff = [[None]*3]*10
What this is actually doing is creating only 1
array of [[None]*3]
and then referencing it 10
times.
So your array is actually similar to:
[[[None]*3], reference 0, reference 0, reference 0, reference 0, reference 0, reference 0, reference 0, reference 0, reference 0]
Change your first line to:
stuff = [[None]*3 for i in xrange(10)]
Which will create a unique element at each position within the array.