时间:2021-05-22
本文实例为大家分享了python实现转圈打印矩阵的具体代码,供大家参考,具体内容如下
#! conding:utf-8__author__ = "hotpot"__date__ = "2017/10/28 9:40"def return_edge(matrix, start_col, end_col, start_row, end_row): if start_row == end_row: return matrix[start_row][start_col:end_col+1] elif end_col ==start_col: res = [] for i in range(start_row,end_row+1): res.append(matrix[i][end_col]) return res else: res2 =[] res3 =[] res4=[] res1 = matrix[start_row][start_col:end_col+1] for i in range(start_row+1,end_row+1): res2.append(matrix[i][end_col]) for i in range(end_col-1,start_col-1,-1): res3.append(matrix[end_row][i]) for i in range(end_row-1,start_row,-1): res4.append(matrix[i][start_row]) res1.extend(res2) res1.extend(res3) res1.extend(res4) return res1def spiralOrder( matrix): if matrix: row = len(matrix)-1 col = len(matrix[0])-1 start_row = 0 start_col = 0 end_row = row end_col = col res =[] while start_col<=end_col and start_row <= end_row: res.extend(return_edge(matrix,start_col,end_col , start_row ,end_row)) start_col+=1 end_col-=1 start_row+=1 end_row-=1 return res else: return matrixif __name__ == '__main__': matrix = [[0 for i in range(3) ]for j in range(3)] num=1 for m in range(len(matrix)): for n in range(len(matrix[0])): matrix[m][n]=num num+=1 print(spiralOrder( matrix))以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了python实现矩阵打印的具体代码,供大家参考,具体内容如下之前面试嵌入式软件的一道题,用c实现矩阵打印,考场上并没有写出来,之后总感觉自己
java实现的顺时针/逆时针打印矩阵操作。分享给大家供大家参考,具体如下:publicclassSnakeMatrix{/***定义矩阵的阶数*/private
本文实例讲述了python简单实现矩阵的乘,加,转置和逆运算。分享给大家供大家参考,具体如下:使用python完成矩阵的乘,加,转置和逆:#-*-coding:
本文实例讲述了Python实现矩阵加法和乘法的方法。分享给大家供大家参考,具体如下:本来以为python的矩阵用list表示出来应该很简单可以搞。。其实发现有大
工程实践中,多数情况下,大矩阵一般都为稀疏矩阵,所以如何处理稀疏矩阵在实际中就非常重要。本文以Python里中的实现为例,首先来探讨一下稀疏矩阵是如何存储表示的