对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获取运行目录与当前脚本目录的方法
Jun 01 Python
python冒泡排序简单实现方法
Jul 09 Python
浅析Python中yield关键词的作用与用法
Nov 29 Python
Pandas 数据处理,数据清洗详解
Jul 10 Python
python 将json数据提取转化为txt的方法
Oct 26 Python
python计算两个矩形框重合百分比的实例
Nov 07 Python
Python OpenCV实现鼠标画框效果
Aug 19 Python
python 进程 进程池 进程间通信实现解析
Aug 23 Python
Python pandas.DataFrame 找出有空值的行
Sep 09 Python
Python requests.post方法中data与json参数区别详解
Apr 30 Python
python实现数学模型(插值、拟合和微分方程)
Nov 13 Python
PyTorch的Debug指南
May 07 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实现的MySQL通用查询程序
2007/03/11 PHP
wiki-shan写的php在线加密的解密程序
2008/09/07 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
2012/09/02 Javascript
Js为表单动态添加节点内容的方法
2015/02/10 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
Clipboard.js 无需Flash的JavaScript复制粘贴库
2015/10/02 Javascript
AngularJS初始化静态模板详解
2016/01/14 Javascript
jquery判断类型是不是number类型的实例代码
2016/10/07 Javascript
Bootstrap Modal遮罩弹出层(完整版)
2016/11/21 Javascript
Bootstrap模态框插件使用详解
2017/05/11 Javascript
socket在egg中的使用实例代码详解
2019/05/30 Javascript
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
vue图片上传组件使用详解
2019/12/23 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
Python Mysql自动备份脚本
2008/07/14 Python
在Python中使用HTMLParser解析HTML的教程
2015/04/29 Python
浅谈用VSCode写python的正确姿势
2017/12/16 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
Python面向对象程序设计示例小结
2019/01/30 Python
分析运行中的 Python 进程详细解析
2019/06/22 Python
Pytorch中index_select() 函数的实现理解
2019/11/19 Python
使用sklearn的cross_val_score进行交叉验证实例
2020/02/28 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
2020/11/11 Python
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
阿玛尼美妆俄罗斯官网:Giorgio Armani Beauty RU
2020/07/19 全球购物
Napapijri西班牙在线商店:夹克、外套、运动衫等
2020/11/05 全球购物
表彰先进集体通报
2014/01/12 职场文书
称象教学反思
2014/02/03 职场文书
党的群众路线教育实践活动宣传标语口号
2014/06/06 职场文书
服务员岗位职责
2015/02/03 职场文书
庆祝教师节主题班会
2015/08/17 职场文书
OpenCV绘制圆端矩形的示例代码
2021/08/30 Python
Spring Data JPA框架持久化存储数据到数据库
2022/04/28 Java/Android