对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中的FTP通信模块ftplib的用法整理
Jul 08 Python
Python中文件I/O高效操作处理的技巧分享
Feb 04 Python
为什么Python中没有"a++"这种写法
Nov 27 Python
python+openCV利用摄像头实现人员活动检测
Jun 22 Python
Python中typing模块与类型注解的使用方法
Aug 05 Python
安装python及pycharm的教程图解
Oct 10 Python
Python求平面内点到直线距离的实现
Jan 19 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
Mar 23 Python
详解pyinstaller生成exe的闪退问题解决方案
Jun 19 Python
浅谈django不使用restframework自定义接口与使用的区别
Jul 15 Python
django rest framework使用django-filter用法
Jul 15 Python
Python实现智慧校园自动评教全新版
Jun 18 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中目录操作opendir()、readdir()及scandir()用法示例
2019/06/08 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
2019/11/13 PHP
JQuery循环滚动图片代码
2011/12/08 Javascript
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
jquery清空textarea等输入框实现代码
2013/04/22 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
JS实现保留n位小数的四舍五入问题示例
2016/08/03 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
2017/06/04 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
vue组件(全局,局部,动态加载组件)
2018/09/02 Javascript
详解vue项目中使用token的身份验证的简单实践
2019/03/08 Javascript
uploadify插件实现多个图片上传并预览
2019/09/30 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
vue2.0实现列表数据增加和删除
2020/06/17 Javascript
Python利用Beautiful Soup模块修改内容方法示例
2017/03/27 Python
pandas带有重复索引操作方法
2018/06/08 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
使用tensorflow进行音乐类型的分类
2020/08/14 Python
浅谈Html5页面打开app的一些思考
2020/03/30 HTML / CSS
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
文员岗位职责
2013/11/09 职场文书
ktv总经理岗位职责
2014/02/17 职场文书
检查接待方案
2014/02/27 职场文书
实习生岗位职责
2014/04/12 职场文书
歌颂祖国演讲稿
2014/05/04 职场文书
员工三分钟演讲稿
2014/08/19 职场文书
讲党性心得体会
2014/09/03 职场文书
公司授权委托书格式范文
2014/10/02 职场文书
2015年助残日活动总结
2015/03/27 职场文书
施工单位工程部经理岗位职责
2015/04/09 职场文书
简述python四种分词工具,盘点哪个更好用?
2021/04/13 Python
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL