对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的Django框架编写从Google Adsense中获得报表的应用
Apr 17 Python
Python smallseg分词用法实例分析
May 28 Python
Python聚类算法之DBSACN实例分析
Nov 20 Python
Python Paramiko模块的安装与使用详解
Nov 18 Python
Python中防止sql注入的方法详解
Feb 25 Python
教你学会使用Python正则表达式
Sep 07 Python
itchat接口使用示例
Oct 23 Python
win7+Python3.5下scrapy的安装方法
Jul 31 Python
python使用numpy读取、保存txt数据的实例
Oct 14 Python
python导包的几种方法(自定义包的生成以及导入详解)
Jul 15 Python
Python中Subprocess的不同函数解析
Dec 10 Python
python判断all函数输出结果是否为true的方法
Dec 03 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 数组字符串搜索array_search技巧
2016/07/05 PHP
js将当前时间格式转换成时间搓(自写)
2013/09/26 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
2014/03/12 Javascript
使用js dom和jquery分别实现简单增删改
2014/09/11 Javascript
手机开发必备技巧:javascript及CSS功能代码分享
2015/05/25 Javascript
js实现全国省份城市级联下拉菜单效果代码
2015/09/07 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
JavaScript中push(),join() 函数 实例详解
2016/09/06 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
2017/03/29 jQuery
原生javascript上传图片带进度条【实例分享】
2017/04/06 Javascript
JavaScript实现预览本地上传图片功能完整示例
2019/03/08 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
谈谈IntersectionObserver懒加载的具体使用
2019/10/15 Javascript
基于JavaScript实现贪吃蛇游戏
2020/03/16 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
vue项目如何监听localStorage或sessionStorage的变化
2021/01/04 Vue.js
使用python在本地电脑上快速处理数据
2017/06/22 Python
浅谈用VSCode写python的正确姿势
2017/12/16 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
django中使用POST方法获取POST数据
2019/08/20 Python
python 3.7.4 安装 opencv的教程
2019/10/10 Python
Python GUI自动化实现绕过验证码登录
2020/01/10 Python
Python requests设置代理的方法步骤
2020/02/23 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
django修改models重建数据库的操作
2020/03/31 Python
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
雅诗兰黛美国官网:Estee Lauder美国
2016/07/21 全球购物
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
CK巴西官方网站:Calvin Klein巴西
2019/07/19 全球购物
Rowdy Gentleman服装和配饰:美好时光
2019/09/24 全球购物
医学生实习自荐信
2013/10/01 职场文书
创新比赛获奖感言
2014/02/13 职场文书
阳光体育活动总结
2014/04/30 职场文书
财务工作检讨书
2014/10/29 职场文书
课外活动实习计划
2015/01/19 职场文书