对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程序
Apr 04 Python
python提取内容关键词的方法
Mar 16 Python
简单分析Python中用fork()函数生成的子进程
May 04 Python
Python实现遍历数据库并获取key的值
May 17 Python
浅谈Python中的作用域规则和闭包
Mar 20 Python
python爬虫之xpath的基本使用详解
Apr 18 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
python for和else语句趣谈
Jul 02 Python
Django中间件基础用法详解
Jul 18 Python
python实现删除列表中某个元素的3种方法
Jan 15 Python
Python常用库Numpy进行矩阵运算详解
Jul 21 Python
python判断变量是否为列表的方法
Sep 17 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随机显示图片的简单示例
2014/02/15 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
PHPCMS忘记后台密码的解决办法
2016/10/30 PHP
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
2015/08/14 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
浅谈javascript的call()、apply()、bind()的用法
2016/02/21 Javascript
node.js从数据库获取数据
2016/05/08 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
微信小程序如何调用图片接口API并居中显示
2019/06/29 Javascript
微信小程序实现张图片合成为一张并下载
2019/07/16 Javascript
[01:12]快闪回顾DOTA2亚洲邀请赛(DAC) 静候2018新征程开启
2018/03/11 DOTA
Python压缩解压缩zip文件及破解zip文件密码的方法
2015/11/04 Python
对python list 遍历删除的正确方法详解
2018/06/29 Python
django解决跨域请求的问题
2018/11/11 Python
Python3 单行多行万能正则匹配方法
2019/01/07 Python
Django后端接收嵌套Json数据及解析详解
2019/07/17 Python
python3 selenium自动化 frame表单嵌套的切换方法
2019/08/23 Python
完美解决keras 读取多个hdf5文件进行训练的问题
2020/07/01 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
PyTorch如何搭建一个简单的网络
2020/08/24 Python
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
信息系统专业个人求职信范文
2013/12/07 职场文书
公司廉洁自律承诺书
2014/03/27 职场文书
大学生活动总结模板
2014/07/02 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS
Nginx域名转发使用场景代码实例
2021/03/31 Servers
详解运行Python的神器Jupyter Notebook
2021/06/03 Python
Python函数中apply、map、applymap的区别
2021/11/27 Python
SQLServer RANK() 排名函数的使用
2022/03/23 SQL Server
Three.js实现雪糕地球的使用示例详解
2022/07/07 Javascript