python怎么输出一个矩阵(python实现转圈打印矩阵)
类别:脚本大全 浏览量:951
时间:2022-01-17 01:12:02 python怎么输出一个矩阵
python实现转圈打印矩阵本文实例为大家分享了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 res1 def 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 matrix if __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)) |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/hotpotbo/article/details/78374025
您可能感兴趣
- python与php比较(浅谈php调用python文件)
- python异常信息处理(Python使用修饰器进行异常日志记录操作示例)
- python好看图案(python实现趣味图片字符化)
- python统一支付接口(Python实现的微信支付方式总结三种方式)
- python装饰器怎么编写(Python函数装饰器常见使用方法实例详解)
- pythonssh登录服务器(对python 通过ssh访问数据库的实例详解)
- python opencv 标记目标(使用Python的OpenCV模块识别滑动验证码的缺口推荐)
- 超简单使用Python换脸实例(超简单使用Python换脸实例)
- python中tryexcept的用法(对python中的try、except、finally 执行顺序详解)
- python爬虫音乐代码(详解python selenium 爬取网易云音乐歌单名)
- python怎么在csv修改数据(python 编写输出到csv的操作)
- python处理时间序列常用方法汇总(python整小时 整天时间戳获取算法示例)
- python在txt指定行添加文本(Python修改文件往指定行插入内容的实例)
- python时间类的实现(Python日期时间Time模块实例详解)
- python下载后依然打不开文件(解决python打不开文件文件不存在的问题)
- python编程加密解密(python实现AES加密解密)
- 白龙马的改编学生版,快来看看(白龙马的改编学生版)
- 萌娃唱《白龙马》走红,那生动的小表情,网友直呼 简直是戏精(萌娃唱白龙马走红)
- 朱鹤松被不断认可,凤凰传奇玲花喊话岳云鹏,索要老朱演出门票(朱鹤松被不断认可)
- 元宵晚会槽点多,芒果台上来就假唱,岳云鹏不说相声改评书了(元宵晚会槽点多)
- 岳云鹏跟凤凰传奇谈心,说出了人生中最重要的三个人,这才成功(岳云鹏跟凤凰传奇谈心)
- 爱情可以当饭吃吗(爱情能当饭吃吗)
热门推荐
- sql内连接和外连接(SQL左连接和右连接原理及实例解析)
- dedecms怎么使用(DEDECMS网站系统目录权限设置教程)
- mysql数值类型图解(详解mysql持久化统计信息)
- sqlserver存储过程参数默认值(sql server使用临时存储过程实现使用参数添加文件组脚本复用)
- dedecms主表内容(DEDECMS最为常用的分页标签及分页样式代码)
- 如何执行docker镜像(Docker镜像管理常用操作代码示例)
- iis警告事件怎么处理(IIS服务器常见错误解析及排错指南、错误代码大全)
- 升级mysql客户端版本(超详细教你怎么升级Mysql的版本)
- vio更新后怎么是黑页面(vite2.0 踩坑实录)
- python选择排序最大最小同时排序(Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9