2次元リストの回転

2022年10月30日

説明

2次元のリストを行列とみたときの時計回り90°回転、反時計回り90°回転、180°回転する方法

元の行列

A = [[1, 2, 3], 
     [4, 5, 6]]

時計回り90°回転

B = list(map(list, zip(*A[::-1])))
# B = [[4, 1],
#      [5, 2],
#      [6, 3]]

反時計回り90°回転

C = list(map(list, zip(*A)))[::-1]
# C = [[3, 6],
#      [2, 5],
#      [1, 4]]

180°回転

D = [x[::-1] for x in A[::-1]]
# D = [[6, 5, 4], 
#      [3, 2, 1]]