Ваша проблема в два раза:
1- B - это метка на матрице A, то есть каждая модификация A, также модифицированная B
2- B был локальным для функции транспонирования и не мог быть доступен снаружи
A = [[1, 1, 1, 1],
[2, 2, 2, 2],
[3, 3, 3, 3],
[4, 4, 4, 4]]
def TS (A):
B = [row[:] for row in A] # make a copy of A, not assigning a new label on it.
for i in (range(len(A))):
for j in (range(len(A))):
B[i][j] = A[j][i]
return B
B = TS(A)
for i in range(len(A)):
for j in range(len(A)):
print(B[i][j], " ", end='')
print()
выход:
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4