对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 相关文章推荐
linux系统使用python获取内存使用信息脚本分享
Jan 15 Python
python调用短信猫控件实现发短信功能实例
Jul 04 Python
Python制作简易注册登录系统
Dec 15 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
Apr 21 Python
python批量修改文件编码格式的方法
May 31 Python
Python生成一个迭代器的实操方法
Jun 18 Python
解决Python3 控制台输出InsecureRequestWarning问题
Jul 15 Python
在python中实现同行输入/接收多个数据的示例
Jul 20 Python
使用Keras建立模型并训练等一系列操作方式
Jul 02 Python
Python非单向递归函数如何返回全部结果
Dec 18 Python
使用python绘制分组对比柱状图
Apr 21 Python
python神经网络Xception模型
May 06 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侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
2009/10/15 PHP
PHP中extract()函数的定义和用法
2012/08/17 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
2016/03/01 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
随机显示经典句子或诗歌的javascript脚本
2007/08/04 Javascript
JQuery Ajax 跨域访问的解决方案
2010/03/12 Javascript
JavaScript中的连字符详解
2013/11/28 Javascript
JavaScript中判断原生函数检查function是否是原生代码
2014/09/09 Javascript
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
jQuery validate验证插件使用详解
2016/05/11 Javascript
使用JavaScript实现弹出层效果的简单实例
2016/05/31 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
Linux CentOS系统下安装node.js与express的方法
2017/04/01 Javascript
详解nuxt路由鉴权(express模板)
2018/11/21 Javascript
实现elementUI表单的全局验证的方法步骤
2019/04/29 Javascript
简单介绍使用Python解析并修改XML文档的方法
2015/10/15 Python
详解TensorFlow查看ckpt中变量的几种方法
2018/06/19 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
Python self用法详解
2020/11/28 Python
K近邻法(KNN)相关知识总结以及如何用python实现
2021/01/28 Python
HTML5仿微信聊天界面、微信朋友圈实例代码
2018/01/29 HTML / CSS
来自世界各地的优质葡萄酒:VineShop24
2018/07/09 全球购物
技术经理的自我评价范文
2013/12/03 职场文书
工作会议主持词
2014/03/17 职场文书
道路施工安全责任书
2014/07/24 职场文书
白酒营销策划方案
2014/08/17 职场文书
法制演讲稿
2014/09/10 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
基层工作经历证明
2015/06/19 职场文书
python实现过滤敏感词
2021/05/08 Python
Python制作动态字符画的源码
2021/08/04 Python
一文搞清楚MySQL count(*)、count(1)、count(col)区别
2022/03/03 MySQL
使用ICOM IC-R9500接收机同时测评十台收音机中波接收性能
2022/05/10 无线电
Linux中各个目录的作用与内容
2022/06/28 Servers