对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中使用urllib2获取http请求状态码的代码例子
Jul 07 Python
浅析Python的Django框架中的Memcached
Jul 23 Python
python操作字典类型的常用方法(推荐)
May 16 Python
Python队列的定义与使用方法示例
Jun 24 Python
如何使用Python的Requests包实现模拟登陆
Apr 27 Python
Python字符串、整数、和浮点型数相互转换实例
Aug 04 Python
对python创建及引用动态变量名的示例讲解
Nov 10 Python
Django框架orM与自定义SQL语句混合事务控制操作
Jun 27 Python
python删除某个目录文件夹的方法
May 26 Python
python中线程和进程有何区别
Jun 17 Python
python爬取2021猫眼票房字体加密实例
Feb 19 Python
Python文件的操作示例的详细讲解
Apr 08 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者的疑难问答(1)
2006/10/09 PHP
PHP和MySql中32位和64位的整形范围是多少
2016/02/18 PHP
Symfony核心类概述
2016/03/17 PHP
Zend Framework入门知识点小结
2016/03/19 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
2020/08/17 PHP
PHP7 foreach() 函数修改
2021/03/09 PHP
jquery连缀语法如何实现
2012/11/29 Javascript
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
javascript解析json数据的3种方式
2014/05/08 Javascript
jquery显示隐藏input对象
2014/07/21 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
浅谈JavaScript前端开发的MVC结构与MVVM结构
2016/06/03 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
bootstrap paginator分页插件的两种使用方式实例详解
2017/11/14 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
2018/12/07 Javascript
详解Ant Design of React的安装和使用方法
2018/12/27 Javascript
9102年webpack4搭建vue项目的方法步骤
2019/02/20 Javascript
jQuery高级编程之js对象、json与ajax用法实例分析
2019/11/01 jQuery
为python设置socket代理的方法
2015/01/14 Python
简单谈谈Python中的闭包
2016/11/30 Python
Python实现快速傅里叶变换的方法(FFT)
2018/07/21 Python
python3安装speech语音模块的方法
2018/12/24 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
2020/04/14 Python
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
什么是属性访问器
2015/10/26 面试题
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
公司开业庆典策划方案
2014/06/04 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
幼儿园教师个人工作总结2015
2015/05/12 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
电子表的操作介绍说明书
2019/10/28 职场文书
Python中OpenCV实现简单车牌字符切割
2021/06/11 Python