对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中pygame安装方法图文详解
Nov 11 Python
python利用不到一百行代码实现一个小siri
Mar 02 Python
Python中模块string.py详解
Mar 12 Python
python numpy 一维数组转变为多维数组的实例
Jul 02 Python
python-pyinstaller、打包后获取路径的实例
Jun 10 Python
Django 路由控制的实现
Jul 17 Python
关于ZeroMQ 三种模式python3实现方式
Dec 23 Python
python使用Geany编辑器配置方法
Feb 21 Python
django之从html页面表单获取输入的数据实例
Mar 16 Python
Python尾递归优化实现代码及原理详解
Oct 09 Python
python 多线程爬取壁纸网站的示例
Feb 20 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
用Simple Excel导出xls实现方法
2012/12/06 PHP
浅析51个PHP处理字符串的函数
2013/08/02 PHP
ThinkPHP后台首页index使用frameset时的注意事项分析
2014/08/22 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
2016/07/20 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
laravel admin实现分类树/模型树的示例代码
2020/06/10 PHP
js控制当再次点击按钮时的间隔时间
2014/06/03 Javascript
被遗忘的javascript的slice() 方法
2015/04/20 Javascript
使用 JavaScript 进行函数式编程 (一) 翻译
2015/10/02 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
jQuery验证插件validate使用详解
2016/05/11 Javascript
js实现文字截断功能
2016/09/14 Javascript
JavaScript中清空数组的方法总结
2016/12/02 Javascript
BootStrap3使用错误记录及解决办法
2016/12/22 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
2017/01/23 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
JavaScript无缝滚动效果的实例代码
2017/03/27 Javascript
如何使用Bootstrap创建表单
2017/03/29 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
详解Angular路由之路由守卫
2018/05/10 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
2019/08/02 jQuery
webpack4 配置 ssr 环境遇到“document is not defined”
2019/10/24 Javascript
详解JS函数防抖
2020/06/05 Javascript
详解Python Socket网络编程
2016/01/05 Python
python如何为创建大量实例节省内存
2018/03/20 Python
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
联想马亚西亚官方网站:Lenovo Malaysia
2018/09/19 全球购物
畜牧兽医本科生的自我评价
2014/03/03 职场文书
英文推荐信格式范文
2014/05/09 职场文书
特教教师先进事迹
2014/05/21 职场文书
2014入党积极分子破除“四风”思想汇报
2014/09/14 职场文书
期末考试复习计划
2015/01/19 职场文书
学校运动会通讯稿
2015/07/18 职场文书
2019下半年英语教师的教学工作计划(3篇)
2019/09/25 职场文书