What I am trying to achieve is to insert a small 2D-list into a big one (I'm using Python 2.7.3).
Why am I getting different results for var1 and var2?
def modify(foo):
    small = [[1]*2]*2
    for y, line in enumerate(small):
        foo[y+1][1:3] = line
    return foo
var1 = [[0]*4]*4
var2 = [
    [0, 0, 0, 0],
    [0, 0, 0, 0],
    [0, 0, 0, 0],
    [0, 0, 0, 0]]
print modify(var1)
print modify(var2)
# Result:
# var1 = [
#   [0, 1, 1, 0],
#   [0, 1, 1, 0],
#   [0, 1, 1, 0],
#   [0, 1, 1, 0]]
#
# var2 = [
#   [0, 0, 0, 0],
#   [0, 1, 1, 0],
#   [0, 1, 1, 0],
#   [0, 0, 0, 0]]
 
     
    