需求:將一個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)