对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中的JSON模块
Apr 08 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
Dec 21 Python
python判断完全平方数的方法
Nov 13 Python
Python实现带参数的用户验证功能装饰器示例
Dec 14 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
Aug 22 Python
基于Django统计博客文章阅读量
Oct 29 Python
python 消费 kafka 数据教程
Dec 21 Python
Python多重继承之菱形继承的实例详解
Feb 12 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
Feb 18 Python
python初步实现word2vec操作
Jun 09 Python
Python 实现PS滤镜中的径向模糊特效
Dec 03 Python
python实现视频压缩功能
Dec 18 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中上传大体积文件时需要的设置
2006/10/09 PHP
php开发文档 会员收费1期
2012/08/14 PHP
php内核解析:PHP中的哈希表
2014/01/30 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
Jquery Validation插件防止重复提交表单的解决方法
2010/03/05 Javascript
jQuery插件开发基础简单介绍
2013/01/07 Javascript
jQuery+.net实现浏览更多内容(改编php版本)
2013/03/28 Javascript
使用PHP+JQuery+Ajax分页的实现
2013/04/23 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
jquery.cookie.js使用指南
2015/01/05 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
js对象浅拷贝和深拷贝详解
2016/09/05 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
使用travis-ci如何持续部署node.js应用详解
2017/07/30 Javascript
jQuery动态操作表单示例【基于table表格】
2018/12/06 jQuery
vue-cli3 DllPlugin 提取公用库的方法
2019/04/24 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
python显示天气预报
2014/03/02 Python
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
face++与python实现人脸识别签到(考勤)功能
2019/08/28 Python
python 五子棋如何获得鼠标点击坐标
2019/11/04 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
size?丹麦官网:英国伦敦的球鞋精品店
2019/04/15 全球购物
俄罗斯花园种植材料批发和零售网上商店:Беккер
2019/07/22 全球购物
Java如何获得ResultSet的总行数
2016/09/03 面试题
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
2015/10/13 面试题
求职意向书
2014/04/01 职场文书
体育教育毕业生自荐信
2014/06/29 职场文书
weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法
2022/01/22 MySQL