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): row = [1, 2, 3] m = [] for i in range(size): m.append(row[:]) return m def create_matrix4(size): return [[1,2,3]]*size def create_matrix5(size): row = [1,2,3] return [row]*size def print_out_all(): functions = [create_matrix1, create_matrix2, create_matrix3,\ create_matrix4, create_matrix5] 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] for i in range(len(functions)): m = functions[i](3) m[0][0] = 100 print("Testing create_matrix" + str(i+1) + ": ", end='') if m[1][0] == 100: print("Failed aliasing :(") else: print("Passed! :)")