面试题之顺时针打印矩阵,Python实现,供大家参考,具体内容如下

问题描述:

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,输入如下矩阵:

则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.

思路:每次打印并删除矩阵的第一行,然后将矩阵逆时针翻转90度,直至打印出全部结果

具体代码实现如下:

# coding:utf-8

class Solution(object):

def printMatrix(self, matrix):

# 打印矩阵

result = []

while matrix:

result += matrix.pop(0)

if matrix:

matrix = self.rotate(matrix)

return result

def rotate(self, matrix):

# 逆时针旋转矩阵

row = len(matrix)

col = len(matrix[0])

# 存放旋转后的矩阵

new_matrix = []

# 行列调换

for i in range(col):

new_line = []

for j in range(row):

new_line.append(matrix[j][col-1-i])

new_matrix.append(new_line)

return new_matrix

if __name__ == '__main__':

# 测试代码

matrix = [

[1,2,3,4],

[5,6,7,8],

[9,10,11,12],

[13,14,15,16]

]

solution = Solution()

result = solution.printMatrix(matrix)

print(result)

如有错误,欢迎指正和交流。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2019-02-27

python顺时针打印矩阵_python实现顺时针打印矩阵相关推荐

  1. python实践输出星星_python中怎么打印星星

    for循环: 1.有大括号与无大括号的区别: 循环体只能有一条语句, 如果需要执行的语句超过一条,就要加大括号将它们变为一条复合语句.//for循环如此,while循环也是如此. for(int i= ...

  2. python怎么打印图片_Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头...

    一. 打印图片属性.设置图片存储路径 代码如下: #打印图片的属性.保存图片位置 import cv2 as cv import numpy as np #numpy是一个开源的python科学计算库 ...

  3. python输出空心等腰三角形_python学习,打印等腰直角三角形 实心正方形空心正方形...

    在学习python的过程中,自己做了一个小练习 #!/usr/bin/python # -*- coding: utf-8 -*- name = input("请输入数字: ") ...

  4. python打印日历_Python实战练习——打印日历教程

    很长一段时间没有接触过C语言了,想来做这一行当已经有三两年了. 今天突然想起来以前用C语言在VC6上写代码的日子,想了想以前的一些实战练习. 所以今天打算用Python来写一个C语言以前练习的题目-日 ...

  5. python显示变量值_Python 中如何打印变量值

    展开全部 python打印变量的值需32313133353236313431303231363533e78988e69d8331333366306435要用到print语句,具体的使用方法如下: 1. ...

  6. python如何print日语_Python,如何打印日文、韩文、中文字符串

    你看到的是打印字符串 打印列表 或者更一般地说,对象"非正式"和"正式"字符串表示(see documentation)之间的区别. 在第一种情况下,将使用un ...

  7. python计算单词长度_Python - 按长度打印单词

    首先根据长度对单词进行排序,然后再次使用itertools.groupby对它们进行分组: >>> from itertools import groupby >>> ...

  8. 以下选项中不是python ide的是_python选择题word打印版

    1 / 83 Python 单选题库 一. python 语法基础 1 . Python 3.x 版本的保留字总数是 A.27B.29C.33D.16 以下选项中,不是 Python 语言保留字的是 ...

  9. python如何打印表_Python中的打印表

    将列表中的每个项与(另一个或同一个)列表中的每个项进行比较的过程在数学上称为Cartesian product.Python有一个内置函数来完成这个任务:itertools.product它相当于嵌套 ...

最新文章

  1. Redis实现分布式锁的深入探究
  2. linux用户及权限
  3. python相关性分析特征过滤_特征选择-Filter过滤法后续(相关,互信息法)
  4. 2017可以兼容那些jdk_2019从头跃——核心基础:何为JDK?Java开发工具包须知总览...
  5. 【STM32】OLED简介
  6. 通用的异步处理类和进度通知类及其示例
  7. 施一公的三位杰出女弟子
  8. SAP与阿里云的深度合作 为企业提供领先的SaaS 服务
  9. php黄页,PHP 黄页的url
  10. 【Docker】Docker容器和主机如何互相拷贝传输文件
  11. Web前端笔记(5)
  12. matlab里面画离散信号怎么画_一、基本离散信号的MATLAB产生和图形实现
  13. Jsoup——抓取图片
  14. Arduino驱动的安装
  15. 使用  leopard硬盘安装助手 创建OS X 系统安装盘
  16. Android 简历模板
  17. Java实现 蓝桥杯VIP 算法提高 格子位置
  18. Go包管理工具Vendor使用教程
  19. Web Audio API与WebSocket播放实时音频
  20. Android EditText文本编辑框获取焦点调出键盘输入法

热门文章

  1. 1.15 实例内部类
  2. Python A+B问题
  3. ACM入门之【最小生成树】
  4. 【Vue.js】vue2组件间通信方式总结
  5. Nginx日志文件的配置
  6. 面试官问:为什么String的hashCode选择 31 作为乘子?
  7. struts2常见错误及解决总结
  8. Java中设计模式之单例设计模式-1
  9. 【JavaSE03】Java中分支语句-概念
  10. 数据结构:字典树的基本使用