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

分类: 计算机技术
推荐阅读:
Linux挂载一个临时的RAM分区 在Linux下,你可以将RAM当作文件系统使用,这比在Windows方便的多,使用RAM作为文件系统,其读写速度要比磁盘快得多;一条命令即可实现:挂载一个临时的RAM分区,分配指定大小的RAM空间来作为文件系统。
Golang中的map数据类型 map 是一堆键值对的未排序集合;在Go语言中,使用map不需要引入库,它是一种内置的数据类型。
为什么MD5说是128位,却只有32个字符? 为什么MD5说是128位,却只有32个字符?这是因为这两个长度的概念不同;
PySide6 exec()函数详细教程 PySide6.QtWidgets.Application类的exec()函数使程序进入Qt主事件循环并等待直到调用exit()函数,然后返回调用exit()时设置的值,如果调用的是quit()函数,则是0;此处的exit()和quit()函数是QApplication类的成员函数;
Python sorted()函数 在 Python 中,sorted() 函数用于对序列进行排序。它可以接受多种类型的输入序列,包括列表、元组、集合和字典等。
MIPS指令的类型和格式 MIPS指令集包含三种基本类型的指令:R指令、I指令和J指令。不同类型的指令采用不同的指令格式。