解释:

  后缀为zip的文件肯定都见过吧?zip是打包压缩好的一个文件,所以,zip()函数也简单的理解为打包压缩函数,将不同个数相同类型的字段结合在一起。

  官方定义为:zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

看两段代码:

字符串:

a = ''
b = ''
print "字符串zip():",zip(a,b)
print "字符串解压zip得到的是列表,里面是元组:",zip(*zip(a,b))
za,zb =zip(*zip(a,b))
print "za is {za},zb is {zb}".format(za=za,zb=zb) 结果:

字符串zip(): [('1', '2'), ('1', '2'), ('1', '2'), ('1', '2')]
字符串解压zip得到的是列表,里面是元组: [('1', '1', '1', '1'), ('2', '2', '2', '2')]
za is ('1', '1', '1', '1'),zb is ('2', '2', '2', '2')

列表:

la = [1,2,3,4]
lb = [1,2,3,4,5]
print "列表zip():",zip(la,lb)
print "列表解压zip得到的是列表,里面是元组:",zip(*zip(la,lb))
zla,zlb = zip(*zip(la,lb))
print "zla is {zla},zlb is {zlb}".format(zla=zla,zlb=zlb) 执行结果:

列表zip(): [(1, 1), (2, 2), (3, 3), (4, 4)]
列表解压zip得到的是列表,里面是元组: [(1, 2, 3, 4), (1, 2, 3, 4)]
zla is (1, 2, 3, 4),zlb is (1, 2, 3, 4)

元组:

ta = [1,2,3,4]
tb = [1,2,3,4,5]
print "元组zip():",zip(ta,tb)
print "元组解压zip得到的是列表,里面是元组:",zip(*zip(ta,tb))
zta,ztb = zip(*zip(ta,tb))
print "zta is {zta},ztb is {ztb}".format(zta=zta,ztb=ztb) 执行结果:
元组zip(): [(1, 1), (2, 2), (3, 3), (4, 4)]
元组解压zip得到的是列表,里面是元组: [(1, 2, 3, 4), (1, 2, 3, 4)]
zta is (1, 2, 3, 4),ztb is (1, 2, 3, 4)

遍历:

la = [1,2,3,4]
lb = [1,2,3,4,5] for i,j in zip(la,lb):
print i,j 执行结果:
1 1
2 2
3 3
4 4

  总结:有以上可以看出,1.只要可以迭代的相同类型的可以压缩成一个元素是元组的列表。

    2.解压之后都是元素为元组的列表。

        3.以长度最少的为标准。

python zip()函数的使用的更多相关文章

  1. python zip函数(11)

    一.zip函数描述和使用 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,返回的结果可以直接强转为list列表,这样做的好处是节约了不少的 ...

  2. python zip()函数

    描述 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符 ...

  3. 【转】Python zip() 函数

    转自:http://www.runoob.com/python/python-func-zip.html 描述 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回 ...

  4. Python: zip函数

    zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表. 参考链接解释

  5. python zip()函数用法

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

  6. Python zip Python zip函数

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

  7. python zip函数介绍

    首先用help(zip)来看一下帮助文档:

  8. Python zip()函数实现并行迭代

    示例1: for i, j in zip(range(0, 10), range(1, 11)): print(i, j) 输出结果: 0 11 22 33 44 55 66 77 88 99 10 ...

  9. zip函数-Python 3

    zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表. zip函数在获取数据后,生成字典(dict)时比较好用. for examples: # Code based on P ...

随机推荐

  1. Python 常用模块总结

    模块的分类: 1.内置模块(python自带的比如像os,sys等模块)    2.自定义模块,自己写的一些模块    3.第三方模块(开源模块) 模块导入: 1.import sys         ...

  2. Java多线程之单例模式(线程安全)

    package org.study2.javabase.ThreadsDemo.sync; /** * @Auther:GongXingRui * @Date:2018/9/20 * @Descrip ...

  3. 将一个字符(char)或者一个整形(int)的二进制形式输出

    要输出一个数的二进制形式使用位操作  >> 和 & void putBinary(int number)//将一个int整形数字的二进制形式正序,倒序输出 { int value; ...

  4. Ubuntu 16.04配置Java Web开发环境

    说明:在Linux下无论是开发还是服务器配置,我个人建议都安装二进制包版本的,优点:配置清晰,容易发现问题,性能调优方便等.缺点:配置太复杂.而其余平台的建议是一键安装版本,毕竟都是用于测试的,不会实 ...

  5. Let's Encrypt免费泛域名证书申请

    一. 下载acme.sh,以下四条命令任选一条即可 curl https://get.acme.sh | shwget -O - https://get.acme.sh | sh curl https ...

  6. BZOJ4912 SDOI2017天才黑客(最短路+虚树)

    容易想到把边当成点重建图跑最短路.将每条边拆成入边和出边,作为新图中的两个点,由出边向入边连边权为原费用的边.对于原图中的每个点,考虑由其入边向出边连边.直接暴力两两连边当然会被卡掉,注意到其边权是t ...

  7. Ionic生成的App安装在手机上后无法联网的解决方案

    在Ionic中使用inappbrowser.themeablebrowser 组件打开网页,刚开始是好的,后来不知添加什么插件,导致了安装在手机上以后没有网络访问权限. 尝试了很多,最后才发现,此时, ...

  8. 爬虫_拉勾网(selenium)

    使用selenium进行翻页获取职位链接,再对链接进行解析 会爬取到部分空列表,感觉是网速太慢了,加了time.sleep()还是会有空列表 from selenium import webdrive ...

  9. python3基础概念

    数: str:使用单引号或双引号表达,不可变的,一旦创建不可更改,可以使变量赋予不同的字符串,但字符串本身是没有更改的: list:有序的集合,可变的基础数据类型: clear(),copy(),ap ...

  10. linux系统下FTP服务器的安装和配置

    FTP是File Transfer Protocol(文件传输协议),就是专门用来传输文件的协议.简单地说,支持FTP协议的服务器就是FTP服务器. PORT模式: 首先客户端开启一个非特权端口N(大 ...