def create_matrix1(size): m = [] for i in range(size): m.append([1,2,3]) return m def create_matrix2(size): row = [1, 2, 3] m = [] for i in range(size): m.append(row) return m def create_matrix3(size): m = [] for i in range(size): m.append(range(1, 4)) return m def create_matrix4(size): row = [1, 2, 3] m = [] for i in range(size): m.append(row[:]) return m def create_matrix5(size): return [[1,2,3]]*size def create_matrix6(size): row = range(1, 4) return [row]*size def print_out_all(): functions = [create_matrix1, create_matrix2, create_matrix3,\ create_matrix4, create_matrix5, create_matrix6] for i in range(len(functions)): print "create_matrix" + str(i+1) + ":" print functions[i](3) print def test_all(): functions = [create_matrix1, create_matrix2, create_matrix3,\ create_matrix4, create_matrix5, create_matrix6] for i in range(len(functions)): m = functions[i](3) m[0][0] = 100 print "Testing create_matrix" + str(i+1) + ": ", if m[1][0] == 100: print "Failed aliasing :(" else: print "Passed! :)"