对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编写批量卸载手机中安装的android应用脚本
Jul 21 Python
Python输出PowerPoint(ppt)文件中全部文字信息的方法
Apr 28 Python
Python松散正则表达式用法分析
Apr 29 Python
python实现寻找最长回文子序列的方法
Jun 02 Python
django项目搭建与Session使用详解
Oct 10 Python
python使用循环打印所有三位数水仙花数的实例
Nov 13 Python
Python代码实现删除一个list里面重复元素的方法
Apr 02 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
Apr 03 Python
20行代码教你用python给证件照换底色的方法示例
Feb 05 Python
python spilt()分隔字符串的实现示例
May 21 Python
Python图像处理库PIL详细使用说明
Apr 06 Python
python数据处理之Pandas类型转换
Apr 28 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使用curl存储cookie的示例
2014/03/31 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
2009/10/26 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
js对象浅拷贝和深拷贝详解
2016/09/05 Javascript
bootstrap suggest下拉框使用详解
2017/04/10 Javascript
兼容浏览器的js事件绑定函数(详解)
2017/05/09 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
2017/06/29 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
2017/08/17 jQuery
vue mounted组件的使用
2018/06/18 Javascript
vue中子组件调用兄弟组件方法
2018/07/06 Javascript
Vue中的v-for循环key属性注意事项小结
2018/08/12 Javascript
js限制输入框只能输入数字(onkeyup触发)
2018/09/28 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
对python判断ip是否可达的实例详解
2019/01/31 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
2020/05/18 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
Python之qq自动发消息的示例代码
2021/02/18 Python
南京迈特望C/C++面试题
2012/07/09 面试题
校庆活动方案
2014/03/31 职场文书
禁毒宣传工作方案
2014/05/23 职场文书
国庆节演讲稿范文2014
2014/09/19 职场文书
写给父母的感谢信
2015/01/22 职场文书
小学一年级班主任工作经验交流材料
2015/11/02 职场文书
小学班级口号大全
2015/12/25 职场文书
Python max函数中key的用法及原理解析
2021/06/26 Python
JavaScript 数组去重详解
2021/09/15 Javascript
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android