码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-10-22 17:44:12      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:color   变量   print   div   技术   索引   大循环   enumerate   方式   

需求:将一个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)

 

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

标签:color   变量   print   div   技术   索引   大循环   enumerate   方式   

原文地址:http://www.cnblogs.com/BIGMOM/p/5987668.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!