对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检测手机QQ在线状态的脚本代码
Feb 10 Python
用PyQt进行Python图形界面的程序的开发的入门指引
Apr 14 Python
python cx_Oracle模块的安装和使用详细介绍
Feb 13 Python
python selenium UI自动化解决验证码的4种方法
Jan 05 Python
对python append 与浅拷贝的实例讲解
May 04 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
May 13 Python
python的pygal模块绘制反正切函数图像方法
Jul 16 Python
Python多重继承之菱形继承的实例详解
Feb 12 Python
Python爬虫爬取新闻资讯案例详解
Jul 14 Python
pandas将list数据拆分成行或列的实现
Dec 13 Python
Python如何解决secure_filename对中文不支持问题
Jul 16 Python
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
Apr 06 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
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
IP138 IP地址查询小偷实现代码
2010/02/15 PHP
php递归函数怎么用才有效
2018/02/24 PHP
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
自定义右键属性覆盖浏览器默认右键行为实现代码
2013/02/02 Javascript
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
JavaScript获取Url里的参数
2014/12/18 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
基于javascript实现动态显示当前系统时间
2016/01/28 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
2016/08/01 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
angular框架实现全选与单选chekbox的自定义
2017/07/06 Javascript
vue实现验证码输入框组件
2017/12/14 Javascript
JS实现的抛物线运动效果示例
2018/01/30 Javascript
js canvas实现画图、滤镜效果
2018/11/27 Javascript
详解angular2 控制视图的封装模式
2018/12/27 Javascript
微信小程序实现带参数的分享功能(两种方法)
2019/05/17 Javascript
layuiAdmin循环遍历展示商品图片列表的方法
2019/09/16 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
2020/02/19 Javascript
彻底理解Python list切片原理
2017/10/27 Python
Queue 实现生产者消费者模型(实例讲解)
2017/11/13 Python
Python发送邮件的实例代码讲解
2019/10/16 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
移动端适配 使px自动转换rem
2019/08/26 HTML / CSS
英国在线药房和在线医生:LloydsPharmacy
2019/10/21 全球购物
村委会贫困证明
2014/01/14 职场文书
药品业务员岗位职责
2014/04/17 职场文书
捐献物资倡议书范文
2014/05/19 职场文书
幼儿园六一亲子活动方案
2014/08/26 职场文书
群众路线自查自纠工作情况报告
2014/10/28 职场文书
2014年体育工作总结
2014/11/24 职场文书
2016年学校安全教育月活动总结
2016/04/06 职场文书
goland设置颜色和字体的操作
2021/05/05 Golang
Windows Server 2012 R2 磁盘分区教程
2022/04/29 Servers