对Python的zip函数妙用,旋转矩阵详解


Posted in Python onDecember 13, 2018

Python的zip函数

示例1:

x = [1, 2, 3]

y = [4, 5, 6]

z = [7, 8, 9]

xyz = zip(x, y, z)

print xyz

运行的结果是:

[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

从这个结果可以看出zip函数的基本运作方式。

示例2:

x = [1, 2, 3]

y = [4, 5, 6]

z = [7, 8, 9]

xyz = zip(x, y, z)

u = zip(*xyz)

print u

运行的结果是:

[(1, 2, 3), (4, 5, 6), (7, 8, 9)]

一般认为这是一个unzip的过程,它的运行机制是这样的:

在运行zip(*xyz)之前,xyz的值是:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

那么,zip(*xyz) 等价于 zip((1, 4, 7), (2, 5, 8), (3, 6, 9))

所以,运行结果是:[(1, 2, 3), (4, 5, 6), (7, 8, 9)]

注:在函数调用中使用*list/tuple的方式表示将list/tuple分开,作为位置参数传递给对应函数(前提是对应函数支持不定个数的位置参数)

class Solution(object):
 def spiralOrder(self, matrix):
  """
  :type matrix: List[List[int]]
  :rtype: List[int]
  """
  return matrix and list(matrix.pop(0)) + self.spiralOrder(zip(*matrix)[::-1])


obj = Solution()
print obj.spiralOrder([ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]])

Your return [1,2,3,6,9,8,7,4,5].

以上这篇对Python的zip函数妙用,旋转矩阵详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python与shell的3种交互方式介绍
Apr 11 Python
深入讲解Python中面向对象编程的相关知识
May 25 Python
python通过get,post方式发送http请求和接收http响应的方法
May 26 Python
python类装饰器用法实例
Jun 04 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
Jul 11 Python
Python之reload流程实例代码解析
Jan 29 Python
解决python执行不输出系统命令弹框的问题
Jun 24 Python
python自动化测试之DDT数据驱动的实现代码
Jul 23 Python
python词云库wordcloud的使用方法与实例详解
Feb 17 Python
python 检测图片是否有马赛克
Dec 01 Python
Python批量将csv文件转化成xml文件的实例
May 10 Python
 python中的元类metaclass详情
May 30 Python
python将list转为matrix的方法
Dec 12 #Python
python矩阵的转置和逆转实例
Dec 12 #Python
对Python 除法负数取商的取整方式详解
Dec 12 #Python
python判断一个数是否能被另一个整数整除的实例
Dec 12 #Python
解决sublime+python3无法输出中文的问题
Dec 12 #Python
python3实现多线程聊天室
Dec 12 #Python
对pandas读取中文unicode的csv和添加行标题的方法详解
Dec 12 #Python
You might like
PHP+jQuery 注册模块的改进(三):更新到Smarty3.1
2014/10/14 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
php实现简单四则运算器
2020/11/29 PHP
原生js仿jquery animate动画效果
2016/07/13 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析
2016/12/01 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
php main 与 iframe 相互通讯类(js+php同域/跨域)
2017/09/14 Javascript
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
2018/10/24 Javascript
在webstorm开发微信小程序之使用阿里自定义字体图标的方法
2018/11/15 Javascript
node错误处理与日志记录的实现
2018/12/24 Javascript
了解重排与重绘
2019/05/29 Javascript
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
Python装饰器使用示例及实际应用例子
2015/03/06 Python
在 Python 应用中使用 MongoDB的方法
2017/01/05 Python
Python 实现数据库(SQL)更新脚本的生成方法
2017/07/09 Python
Python探索之创建二叉树
2017/10/25 Python
使用Python创建简单的HTTP服务器的方法步骤
2019/04/26 Python
python利用JMeter测试Tornado的多线程
2020/01/12 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
html5视频媒体标签video的使用方法及完整参数说明详解
2019/09/27 HTML / CSS
Html5基于canvas实现电子签名并生成PDF文档
2020/12/07 HTML / CSS
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
Pottery Barn阿联酋:购买家具、家居装饰及更多
2019/12/08 全球购物
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
2015/05/02 面试题
师范应届生求职信
2013/11/15 职场文书
《窗前的气球》教学反思
2014/04/07 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
2015年国税春训心得体会
2015/03/09 职场文书
中学生国庆节演讲稿2015
2015/07/30 职场文书
python Polars库的使用简介
2021/04/21 Python
详细介绍python操作RabbitMq
2022/04/12 Python
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers