Транспонирование матриц

Транспонированием матрицы называется операция, при которой столбцы матрицы становятся строками, а строки становятся столбцами.

Представим некую двумерную матрицу
1 2 3
4 5 6
7 8 9

После транспонирования матрица будет выглядеть так:
1 4 7
2 5 8
3 6 9

Транспонирование производилось по главной диагонали, то есть 1, 5 и 9 остались на своих местах, а сама матрица оказалась как бы повёрнута на 180 градусов относительно этой воображаемой диагональной оси.

Реализуйте функцию transposed, которая должна принимать матрицу в виде списка списков и возвращать транспонированную матрицу (новый список списков).

Имейте в виду, что хоть в математике и транспонируют строго квадратные матрицы, ваша функция transposed должна быть более "всеядной": она должна уметь переворачивать и прямоугольные матрицы!

Примеры
>>> transposed([[1]])
[[1]]
>>> transposed([[1, 2], [3, 4]])
[[1, 3], [2, 4]]
>>> transposed([[1, 2], [3, 4], [5, 6]])
[[1, 3, 5], [2, 4, 6]]
>>> transposed(transposed([[1, 2]])) == [[1, 2]]
True