Как сделать поворот матрицы в одну строчку без NumPy и циклов?
Например, если исходная матрица:
[[1, 2],[3, 4]]то результирующая должна быть:
[[3, 1],[4, 2]]
PythonLib
Питон для всех
question@mail.ru
·
01.01.1970 03:00
Как сделать поворот матрицы в одну строчку без NumPy и циклов?
Например, если исходная матрица:
[[1, 2],[3, 4]]то результирующая должна быть:
[[3, 1],[4, 2]]
answer@mail.ru
·
01.01.1970 03:00
Нашел довольно элегантный способ сделать поворот матрицы в одну строчку без numpy и циклов. В рунете ничего толкового не смог найти, может кому то поможет. Оригинал здесь:
rotated = zip(*original[::-1]) # Python 2rotated = tuple(zip(*original[::-1])) # Python 3Как это работает.
original = [[1, 2], [3, 4]]Сначала работает реверс
>>> original[::-1] [[3, 4], [1, 2]]И далее этот уже обернутый список передаётся функции zip()
zip([3, 4], [1, 2])# ^ ^----column 2# |-------column 1Надеюсь, кому-то пригодится, а то начинают перебор через встроенные циклы и т.д.