Python将二维数组进行顺时针旋转90度、180度、270度
本文将使用Python实现二维数组顺时针旋转,包括旋转90度、180度、270度;
需求描述
将一个二维数组,旋转90度、180度、270度;变换如下:
1 0 1 0 1 1 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0
实现代码
该代码实现将二维数组进行顺时针旋转90度、180度、270度,并显示;
def rotate_90d(matrix):
return list(zip(* matrix[::-1]))
def print2darray(arr,m,n):
for i in range(m):
for j in range(n):
print(arr[i][j],end=' ')
print()
if __name__ == '__main__':
arr = [
[1,0,1],
[1,0,1],
[0,0,0]
]
print2darray(arr,3,3)
arr_90d = rotate_90d(arr)
print("顺时针旋转90度")
print2darray(arr_90d,3,3)
arr_180d = rotate_90d(arr_90d)
print("顺时针旋转180度")
print2darray(arr_180d,3,3)
arr_270d = rotate_90d(arr_180d)
print("顺时针旋转270度")
print2darray(arr_270d,3,3)
程序运行效果
1 0 1 1 0 1 0 0 0 顺时针旋转90度 0 1 1 0 0 0 0 1 1 顺时针旋转180度 0 0 0 1 0 1 1 0 1 顺时针旋转270度 1 1 0 0 0 0 1 1 0