2023 10 16
2 重配列の 回転操作
右 90 度回転
list(zip(*S[::-1]))
のようにすると 右 90 度回転した配列が得られる。
S = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(S) # [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(S[::-1]) # [[7, 8, 9], [4, 5, 6], [1, 2, 3]]
print(list(zip(*S[::-1]))) # [(7, 4, 1), (8, 5, 2), (9, 6, 3)]
左 90 度回転
list(zip(*S[::]))[::-1]
のようにすると左 90 度回転した配列が得られる.
S = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(S) # [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(S[::]) # [[7, 8, 9], [4, 5, 6], [1, 2, 3]]
print(list(zip(*S))[::-1]) # [(3, 6, 9), (2, 5, 8), (1, 4, 7)]