day4 二维数组旋转90度

Posted (野生程序员)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day4 二维数组旋转90度相关的知识,希望对你有一定的参考价值。

    二维数组的旋转其实就是数组里面的元素对调的情况;下面有一个4×4的二维数组,[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]],现在要求把二维数组转化为下列形式,[[0, 0, 0, 0], [1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]]。下面来看一下流程图:

流程图:

 

    流程图如上面所示,就是进行简单的互换而已,下面我们来用代码实现行列互换:

data = [[i for i in range(4)] for j in range(4)]
print(data)
#定义行的初始值,我们发现,行的变化是从0开始,递增到3
col = 0
while col < 4:
    #循环的结束条件,由于只有四行,因此循环4即结束
    for row in range(col,4):
        #这里我们让行列的序号每次循环递增1,避免之前转换的再次转换
        tem = data[row][col]
        #存储临时变量,免得替换之后值发生改变
        data[row][col] = data[col][row]
        #列表行列的值进行互换
        data[col][row] = tem
    col += 1
    #列的索引每次加一

print(data)

    上面代码的主题思想就是流程图中的思想,只需要进行必要的转换即可,注意转换的过程中所以值的变化。所以流程图还是很重要的。

    运行代码如下:

    [[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]
  [[0, 0, 0, 0], [1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]]

以上是关于day4 二维数组旋转90度的主要内容,如果未能解决你的问题,请参考以下文章

二维数组(矩阵)之将矩阵旋转90度

python-二维数组实现90度旋转

二维数组顺时针旋转90度

二维数组6:数组的水平翻转

矩阵旋转(二维数组旋转)

Leecode-48:旋转图像(矩阵顺时针旋转90度)