Я думаю, что это то, чего вы хотите достичь:
def twobytwo(m):
last = len(m)-1
for i in range(0, last):
m[i][i], m[i][last] = m[i][last], m[i][i]
m[i][i], m[last][last] = m[last][last], m[i][i]
m[i][i], m[last][i] = m[last][i], m[i][i]
return m
print(twobytwo([[0, 1], [2, 3]]))
РЕДАКТИРОВАТЬ: Если вы все еще хотите сохранить функцию swap
:
def swap(i, j):
return j, i
a, b = swap(a, b)
Но я думаю a, b = b, a
достаточно хорош.