|
发表于 2018-8-15 16:27:58
|
显示全部楼层
- # 返回方阵元素从小到大排列的一个列表
- #[-88, -82, -43, -29, -15, -10, -2, 8, 23, 26, 27, 39, 64, 65, 88, 93]
- def sort_matrix(matrix_list):
- length = len(matrix_list)
- sort_list = []
- for each in matrix_list:
- for each_num in each:
- sort_list.append(each_num)
- sort_list.sort()
- return sort_list
- #返回图中所示蜿蜒曲折的排列的方阵
- #[[-88, -82, -43, -29], [8, -2, -10, -15], [23, 26, 27, 39], [93, 88, 65, 64]]
- def zigzag(sort_list):
- length = int(len(sort_list)**0.5)
- temp_matrix = []
- for i in range(length):
- temp = []
- for j in range(length):
- if i%2:
- temp.append(sort_list[(i+1)*length-j-1])
- else:
- temp.append(sort_list[i*length+j])
- temp_matrix.append(temp)
- return temp_matrix
- def fun199(matrix_list):
- length = len(matrix_list)
- zz_matrix = zigzag(sort_matrix(matrix_list))
- result = []
- for i in range(length):
- temp = []
- for j in range(length):
- temp.append(zz_matrix[j][i])
- result.append(temp)
- return result
-
- if __name__ == '__main__':
- test_list = [[-15, -82, 88, -10], [-29, -88, -43, 23], [-2, 27, 26, 8], [64, 39, 65, 93]]
- print(fun199(test_list))
复制代码 |
评分
-
查看全部评分
|