对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中lambda的用法及其与def的区别解析
Jul 28 Python
Python实现基于KNN算法的笔迹识别功能详解
Jul 09 Python
查看python下OpenCV版本的方法
Aug 03 Python
对python生成业务报表的实例详解
Feb 03 Python
python使用thrift教程的方法示例
Mar 21 Python
TensorFlow实现简单的CNN的方法
Jul 18 Python
Python新手学习装饰器
Jun 04 Python
Python3 webservice接口测试代码详解
Jun 23 Python
PyCharm2019 安装和配置教程详解附激活码
Jul 31 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
Sep 01 Python
属性与 @property 方法让你的python更高效
Sep 21 Python
Python基础之函数嵌套知识总结
May 23 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 @ at 记号的作用示例介绍
2014/10/10 PHP
[原创]PHP简单开启curl的方法(测试可行)
2016/01/11 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
php中yii框架实例用法
2020/12/22 PHP
FLASH 广告之外的链接
2008/12/16 Javascript
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
jquery表单验证插件formValidator使用方法
2016/04/01 Javascript
Js动态设置rem来实现移动端字体的自适应代码
2016/10/14 Javascript
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
2017/05/04 jQuery
js下拉菜单生成器dropMenu使用方法详解
2017/08/01 Javascript
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
Vue.js 踩坑记之双向绑定
2018/05/03 Javascript
在vue中使用vue-echarts-v3的实例代码
2018/09/13 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
NodeJs 实现简单WebSocket即时通讯的示例代码
2019/08/05 NodeJs
微信小程序自定义tabBar的踩坑实践记录
2020/11/06 Javascript
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
使用python加密自己的密码
2015/08/04 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
草莓网化妆品澳大利亚站:Strawberrynet AU
2017/12/18 全球购物
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
马来西亚最大的在线隐形眼镜商店:MrLens
2019/03/27 全球购物
幼儿园消防安全制度
2014/01/26 职场文书
大客户经理岗位职责
2015/04/09 职场文书
红色电影观后感
2015/06/18 职场文书
催款函范本大全
2015/06/24 职场文书
创业计划书之零食店(进口)
2019/09/24 职场文书
Python源码解析之List
2021/05/21 Python
Python语言规范之Pylint的详细用法
2021/06/24 Python