day4 二維數組旋轉90度
阿新 • • 發佈:2017-05-20
維數 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度