Pythonで2次元配列を(reversed -> アンパック -> zip)で90度右回転させる
実用性はなさそうだが、勉強のために
2次元配列を90度右回転させるには、
行単位で逆順に並べ替えて、行と列を入れ替えればいい。
>>> import pprint >>> a = [[1,2,3], [4,5,6], [7,8,9]] >>> pprint.pprint(a, width=20) [[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>> pprint.pprint(list(reversed(a)), width=20) [[7, 8, 9], [4, 5, 6], [1, 2, 3]] >>> b = list(zip(*reversed(a))) >>> pprint.pprint(b, width=20) [(7, 4, 1), (8, 5, 2), (9, 6, 3)]