python3的zip函数
zip函数接受任意多个可迭代对象作为参数,将对象中对应的元素打包成一个tuple
,然后返回一个可迭代的zip对象.
这个可迭代对象可以使用循环的方式列出其元素
若多个可迭代对象的长度不一致,则所返回的列表与长度最短的可迭代对象相同.
用法1:用两个列表生成一个zip对象
例1
>>> a1=[1,2,3]
>>> a2=[4,5,6]
>>> a3=[7,8,9]
>>> a4=["a","b","c","d"]
>>> zip1=zip(a1,a2,a3)
>>> print(zip1)
<zip object at 0x7f5a22651c08>
>>> for i in zip1:
... print(i)
...
(1, 4, 7)
(2, 5, 8)
(3, 6, 9)
例2
>>> zip2=zip(a1,a2,a4)
>>> print(zip2)
<zip object at 0x7f5a22651d48>
>>> for j in zip2:
... print(j)
...
(1, 4, 'a')
(2, 5, 'b')
(3, 6, 'c')
例3
>>> zip3=zip(a4)
>>> print(zip3)
<zip object at 0x7f5a22651d08>
>>> for i in zip3:
... print(i)
...
('a',)
('b',)
('c',)
('d',)
例4
>>> zip4=zip(*a4 *3)
>>>
>>> print(zip4)
<zip object at 0x7f5a22651f08>
>>> for j in zip4:
... print(j)
...
('a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd')
用法2:二维矩阵变换(矩阵的行列互换)
>>> l1=[[1,2,3],[4,5,6],[7,8,9]]
>>> print([[j[i] for j in l1] for i in range(len(l1[0])) ])
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
>>> zip(*l1)
<zip object at 0x7f5a22651f88>
>>> for i in zip(*l1):
... print(i)
...
(1, 4, 7)
(2, 5, 8)
(3, 6, 9)
python3的zip函数的更多相关文章
- 用python实现矩阵转置,python3 中zip()函数
前几天群里有同学提出了一个问题:手头现在有个列表,列表里面两个元素,比如[1, 2],之后不断的添加新的列表,往原来相应位置添加.例如添加[3, 4]使原列表扩充为[[1, 3], [2, 4]],再 ...
- python3中zip()函数的用法
>>>a = [1,2,3] >>> b = [4,5,6] >>> c = [4,5,6,7,8] >>> zipped = ...
- python zip()函数用法
zip() --内建函数 zip([iterable, ...]) 它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表) ...
- python3中的 zip()函数 和python2中的 zip()函数 的区别
python3中的 zip()函数 和python2中的 zip()函数 的区别: 描述: zip() 函数用于将可迭代对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象. ...
- python3版本中的zip函数
例如,有两个列表: 1 2 >>>a = [1,2,3] >>>b = [4,5,6] 使用zip()函数来可以把列表合并,并创建一个元组对的列表. 1 2 > ...
- python3中的zip函数(转)
原文地址:https://www.cnblogs.com/qqhfeng/p/5267352.html 在window,显示变量 print(x);而在linux中 print x 例如,有两个列表: ...
- Python3中高阶函数lambda,filter,map,reduce,zip的详细用法
在Python里有五大高阶函数,他们分别是lambda()匿名函数,filter()筛选函数,map()函数,reduce()函数,zip()函数.下面就让我们来详细的了解一下这五种函数的具体用法吧. ...
- Python3.x:zip()函数
Python3.x:zip()函数 1,概述: zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表: 2,示例: (1).示例1: x = [1, 2, 3] y = [4, ...
- 关于python3.4版本中的zip函数
特别注意: 在window,显示变量 print(x);而在linux中 print x 例如,有两个列表: >>>a = [1,2,3] >>>b = [4,5, ...
随机推荐
- poj_3281Dining(网络流+拆点)
poj_3281Dining(网络流+拆点) 标签: 网络流 题目链接 题意: 一头牛只吃特定的几种食物和特定的几种饮料,John手里每种食物和饮料都只有一个,问最多能够满足几头牛的需求(水和食物都必 ...
- Spark入门学习
1. Spark Overview(spark概述) Apache spark是一个快速和通用的集群计算系统.它提供了Java,Scala,Python和R的高级APIs,以及支持通用执行图的优化引擎 ...
- Linux中git的使用
之前在windows中一直采用github的桌面版,库的建立更新都是借助软件的帮助.所使用的的功能也非常局限,仅仅只是创建库再提交自己的代码.至于版本管理.回滚.分支以及git的结构都没有清楚的认识. ...
- Redis进阶实践之五Redis的高级特性
一.引言 上一篇文章写了Redis的特征,使用场景,同时也介绍了Redis的基本数据类型,redis的数据类型是操作redis的基础,这个必须好好的掌握.今天我们开始介绍一些Redis的高级特性 ...
- 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](六)
前言 大家好,我是Rector 又是星期五,很兴奋,很高兴,很high...啦啦啦... Rector在图享网又和大家见面啦!!!上一篇<一步一步创建ASP.NET MVC5程序[Reposit ...
- lnmp一键安装的卸载
http://blog.csdn.net/lansetiankong12/article/details/48130507 如果是lnmp一键安装的 进入安装包目录 [root@www home]# ...
- js动态生成二维码
一.使用jquery.qrcode生成二维码 1.首先在页面中加入jquery库文件和qrcode插件 <script type="text/javascript" src= ...
- 修改国内yum源
yum的源配置文件名为:CentOS-Base.repo 一般情况是在/etc/yum.repos.d目录下有CentOS-Base.repo 备份CentOS-Base.repo文件 打开这个网站h ...
- 个人Vue-1.0学习笔记
dVue.js是类似于angular.js的一套构建用户界面的渐进式框架,只关注视图层, 采用自底向上增量开发的设计. Vue.js的代码需要放置在指定的HTML元素后面. 关于Vue的数据绑定: 例 ...
- IO 异常:The Network Adapter could not establish the connection 怎么解决
IO 异常:The Network Adapter could not establish the connection 怎么解决