1. 程式人生 > >day4 二維數組旋轉90度

day4 二維數組旋轉90度

維數 div 而已 tro alt logs ron mage 重要

二維數組的旋轉其實就是數組裏面的元素對調的情況;下面有一個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度