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

如需转载,请注明出处;本文地址:https://www.perfcode.com/p/python-rotates-the-2darray-90degress.html