zip函数接受任意多个可迭代对象作为参数,将对象中对应的元素打包成一个tuple,然后返回一个可迭代的zip对象.

这个可迭代对象可以使用循环的方式列出其元素

若多个可迭代对象的长度不一致,则所返回的列表与长度最短的可迭代对象相同.

用法1:用两个列表生成一个zip对象

例1

  1. >>> a1=[1,2,3]
  2. >>> a2=[4,5,6]
  3. >>> a3=[7,8,9]
  4. >>> a4=["a","b","c","d"]
  5. >>> zip1=zip(a1,a2,a3)
  6. >>> print(zip1)
  7. <zip object at 0x7f5a22651c08>
  8. >>> for i in zip1:
  9. ... print(i)
  10. ...
  11. (1, 4, 7)
  12. (2, 5, 8)
  13. (3, 6, 9)

例2

  1. >>> zip2=zip(a1,a2,a4)
  2. >>> print(zip2)
  3. <zip object at 0x7f5a22651d48>
  4. >>> for j in zip2:
  5. ... print(j)
  6. ...
  7. (1, 4, 'a')
  8. (2, 5, 'b')
  9. (3, 6, 'c')

例3

  1. >>> zip3=zip(a4)
  2. >>> print(zip3)
  3. <zip object at 0x7f5a22651d08>
  4. >>> for i in zip3:
  5. ... print(i)
  6. ...
  7. ('a',)
  8. ('b',)
  9. ('c',)
  10. ('d',)

例4

  1. >>> zip4=zip(*a4 *3)
  2. >>>
  3. >>> print(zip4)
  4. <zip object at 0x7f5a22651f08>
  5. >>> for j in zip4:
  6. ... print(j)
  7. ...
  8. ('a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd')

用法2:二维矩阵变换(矩阵的行列互换)

  1. >>> l1=[[1,2,3],[4,5,6],[7,8,9]]
  2. >>> print([[j[i] for j in l1] for i in range(len(l1[0])) ])
  3. [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
  4. >>> zip(*l1)
  5. <zip object at 0x7f5a22651f88>
  6. >>> for i in zip(*l1):
  7. ... print(i)
  8. ...
  9. (1, 4, 7)
  10. (2, 5, 8)
  11. (3, 6, 9)

python3的zip函数的更多相关文章

  1. 用python实现矩阵转置,python3 中zip()函数

    前几天群里有同学提出了一个问题:手头现在有个列表,列表里面两个元素,比如[1, 2],之后不断的添加新的列表,往原来相应位置添加.例如添加[3, 4]使原列表扩充为[[1, 3], [2, 4]],再 ...

  2. python3中zip()函数的用法

    >>>a = [1,2,3] >>> b = [4,5,6] >>> c = [4,5,6,7,8] >>> zipped = ...

  3. python zip()函数用法

    zip() --内建函数 zip([iterable, ...]) 它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表) ...

  4. python3中的 zip()函数 和python2中的 zip()函数 的区别

    python3中的 zip()函数 和python2中的 zip()函数 的区别: 描述: zip() 函数用于将可迭代对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象. ...

  5. python3版本中的zip函数

    例如,有两个列表: 1 2 >>>a = [1,2,3] >>>b = [4,5,6] 使用zip()函数来可以把列表合并,并创建一个元组对的列表. 1 2 > ...

  6. python3中的zip函数(转)

    原文地址:https://www.cnblogs.com/qqhfeng/p/5267352.html 在window,显示变量 print(x);而在linux中 print x 例如,有两个列表: ...

  7. Python3中高阶函数lambda,filter,map,reduce,zip的详细用法

    在Python里有五大高阶函数,他们分别是lambda()匿名函数,filter()筛选函数,map()函数,reduce()函数,zip()函数.下面就让我们来详细的了解一下这五种函数的具体用法吧. ...

  8. Python3.x:zip()函数

    Python3.x:zip()函数 1,概述: zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表: 2,示例: (1).示例1: x = [1, 2, 3] y = [4, ...

  9. 关于python3.4版本中的zip函数

    特别注意: 在window,显示变量 print(x);而在linux中 print x 例如,有两个列表: >>>a = [1,2,3] >>>b = [4,5, ...

随机推荐

  1. 在visual studio的工程项目应用中打开console控制窗口

    在visual studio的工程项目应用中打开console控制窗口,这个可以方便我们在console中输出参数的值检查错误. 只需要在需要打开console的地方加入下面的代码即可. AllocC ...

  2. HDU5447 Good Numbers

    http://acm.hdu.edu.cn/showproblem.php?pid=5447 网上好像只找到java的题解,写完就发一下c++代码咯,顺便纪念一下+存个int128板子 做法可以看tj ...

  3. 2017ecjtu-summer training #2 POJ2503

                                                                                                        ...

  4. js第一课总结

    一. 当引用了一个src="demo.js"后,scrpit中间不能有js类的任何方法,都不会被执行. <!DOCTYPE html PUBLIC "-//W3C/ ...

  5. Linux命令之远程下载命令:wget

    转自:http://www.cnblogs.com/peida/archive/2013/03/18/2965369.html Linux系统中的wget是一个下载文件的工具,它用在命令行下.对于Li ...

  6. 织梦dede在首页调用留言本

    织梦dedecms在首页调用留言本 . {dede:loop table=dede_guestbook sort=dtime row=10 titlelen=36 typeid=40 if=ische ...

  7. VUE之ECMAScript6(es6)

    es6:es:EMCAScript 6 (es2015)Emca:国际标准组织 1.常量和变量 const a = "hello" let:定义一个块级作用域的变量 需要先定义再使 ...

  8. xss防御

    http://blog.csdn.net/ghsau/article/details/17027893

  9. python与MySQL

    一.python与mysql交互 因版本不同python操作mysql有两个模块,python3不再支持MySQL-python,模块使用都一样: python2.7:MySQL-python pyt ...

  10. 开地址哈希表(Hash Table)的原理描述与冲突解决

    在开地址哈希表中,元素存放在表本身中.这对于某些依赖固定大小表的应用来说非常有用.因为不像链式哈希表在每个槽位上有一个"桶"来存储冲突的元素,所以开地址哈希表需要通过另一种方法来解 ...