• 【Python】将4*4数组旋转90度新数组


    需求:将一个4*4的数组90度旋转生成新的4*4数组

    原来的4*4数组:
    [0, 1, 2, 3]
    [0, 1, 2, 3]
    [0, 1, 2, 3]
    [0, 1, 2, 3]
    90度旋转后的4*4数组:
    [0, 0, 0, 0]
    [1, 1, 1, 1]
    [2, 2, 2, 2]
    [3, 3, 3, 3]

    图解过程:

    第一步:

    第二步:

    第三步:

    代码如下:

     1 # 初始化一个4*4的数组
     2 array =[ [col for col in range(4)] for row in range(4)]
     3 # 打印看看数组的样子
     4 for row in array:
     5     print(row)
     6 # 大循环:通过enumerate函数找到array的行索引和行数
     7 for r_index,row in enumerate(array):
     8     # 小循环
     9     for c_index in range(r_index,len(row)):
    10         # 将每次循环中的第一列的值存入临时变量temp
    11         temp = array[c_index][r_index]
    12         # 将每次循环中的第一行的值替换给每次循环中第一列的值
    13         array[c_index][r_index] = array[r_index][c_index]
    14         # 将之前存入临时变量temp的值替换给每次循环中的第一行的值
    15         array[r_index][c_index] =temp
    16     print('-------------------')
    17     for r in array:print(r)

     换一个方式实现:

    1 # 初始化一个4*4的数组
    2 array2 =[ [col for col in range(4)] for row in range(4)]
    3 for i in range(len(array2)):
    4     array_new = [array2[i][i] for row in range(4)]
    5     print(array_new)
  • 相关阅读:
    找到排序矩阵中从小到大第K个数字
    使用VSCODE开发UE4
    UE4添加模块
    游戏串流
    DIY Arduino 方向盘
    免费/开源软件推荐
    把引擎插件变成工程插件
    MergeActors技巧
    烘焙卡在99%
    UMG里没有"Prefab"怎么办?
  • 原文地址:https://www.cnblogs.com/BIGMOM/p/5987668.html
Copyright © 2020-2023  润新知