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处理Nginx日志 Nginx日志中包含每个HTTP请求的客户端地址、时间、请求方法和页面、返回状态码、返回数据大小,UserAgent这些信息,本文的目的是在Python中使用正则表达式对这些信息进行格式化处理。
Rust assert宏的用法 在 Rust 中,assert宏用于在运行时检查条件是否满足;条件为true时,程序会正常执行,不会发生任何错误或中断,条件为false时,程序会panic,并在控制台输出相应的错误消息;
Python list()函数 在Python中,list()函数用于将一个可迭代对象(如字符串、元组、字典、集合、生成器等)转换为列表。如果不传入任何参数,list()函数会创建一个空列表。
使用sqlmap导致[CRITICAL] unable to connect to the target URL的原因 使用sqlmap工具进行扫描时,提示[CRITICAL] unable to connect to the target URL. sqlmap is going to retry the request(s);
使用pyi-bindepend工具查看EXE文件的依赖库 pyi-bindepend.exe工具是PyInstaller的一个附属工具,其功能是获得EXE文件运行时需要的依赖文件,当丢失这些文件时,程序无法运行。
如何查询电脑电池型号 要查询笔记本电脑的电池型号,可通过以下步骤进行:为方便查看结果,在桌面空白处右键单击,开打终端;也可使用命令提示符;