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

分类: 计算机技术
推荐阅读:
Python list()函数 在Python中,list()函数用于将一个可迭代对象(如字符串、元组、字典、集合、生成器等)转换为列表。如果不传入任何参数,list()函数会创建一个空列表。
查看Nginx版本信息和编译配置参数 使用命令nginx -v 获取Nginx版本信息;使用命令nginx -V 获取Nginx编译信息;
Rust stringify宏的用法和示例 在Rust中,stringify是一个宏,它接受任何合法的Rust标识符,并将其转换为字符串;这种转换发生在编译时,而不是运行时,这意味着它对于生成代码或诊断消息非常有用。
Golang中的数组切片 数组切片和数组在Go语言中不是同一种数据类型,但他们很相似,区别是数组只能是固定长度,而数组切片可灵活的改变长度。
Microsoft Office 禁用自动更新方法 近日,作者发现 Microsoft Office会偷偷摸摸的自动安装更新,这点是我无法忍受的,因为像这样的大型软件,随随便便更新以下就是几百兆的更新包,不仅占用网络资源,而且对我心爱的固态硬盘极为不利,而且这些软件更新推送很频繁;
Rust cfg宏的用法和示例 在Rust中,cfg宏用于条件编译,允许根据不同的条件在编译代码时选择性地包含或排除特定的代码块;这对于处理不同平台、操作系统、编译器或其他环境变量的情况非常有用。