解释:

  后缀为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. 常用Mac快捷键

    1.复制Cmd + C 粘贴Cmd + C —-> Cmd + V 剪切Cmd + C —-> Cmd + Opt + V 2.查看隐藏文件 Cmd + shift + . 3. 货币符号 ...

  2. vue环境搭建+vscode

    https://blog.csdn.net/junshangshui/article/details/80376489

  3. 洛谷 p1219 八皇后

    刚参加完蓝桥杯 弱鸡错了好几道..回头一看确实不难 写起来还是挺慢的 于是开始了刷题的道路 蓝桥杯又名搜索杯 暴力杯...于是先从dfs刷起 八皇后是很经典的dfs问题 洛谷的这道题是这样的 上面的布 ...

  4. Windows 7 quick launch

    %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar %AppData%\Microsoft\Internet ...

  5. over-relaxation

    逐次超松弛sor 参考1https://blog.csdn.net/lusongno1/article/details/68941137 有各种对比和程序 主要就是取了加权平均,没仔细看

  6. 配置 BizTalk Server

    使用“基本配置”或“自定义配置”配置 BizTalk Server. 基本配置与自定义配置       如果配置使用域组,则进行“自定义配置”. 如果配置使用自定义组名称而不是默认组名称,则进行“自定 ...

  7. BZOJ3224普通平衡树——非旋转treap

    题目: 此为平衡树系列第一道:普通平衡树您需要写一种数据结构,来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数, ...

  8. Mysql 计划任务

    -- 设置 show variables like '%sche%'; ; -- Start存储过程 drop PROCEDURE if exists test; CREATE PROCEDURE t ...

  9. C - A Simple Problem with Integers POJ - 3468 线段树模版(区间查询区间修改)

    参考qsc大佬的视频 太强惹 先膜一下 视频在b站 直接搜线段树即可 #include<cstdio> using namespace std; ; int n,a[maxn]; stru ...

  10. Git的搭建

    Git的搭建 第1步:官网下载安装git 第2步:github官网注册账号 第3步:配置git 第4步:github这是秘钥 第5步:上传本地工程到git 主要参考的博客(这三篇博客能让你顺利上传至g ...