zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。具体意思不好用文字来表述,直接看示例:

1.示例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.示例2:

x = [1, 2, 3]

y = [4, 5, 6, 7]

xy = zip(x, y)

print xy

运行的结果是:

[(1, 4), (2, 5), (3, 6)]

从这个结果可以看出zip函数的长度处理方式。

3.示例3:

x = [1, 2, 3]

x = zip(x)

print x

运行的结果是:

[(1,), (2,), (3,)]

从这个结果可以看出zip函数在只有一个参数时运作的方式。

4.示例4:

x = zip()

print x

运行的结果是:

[]

从这个结果可以看出zip函数在没有参数时运作的方式。

5.示例5:

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分开,作为位置参数传递给对应函数(前提是对应函数支持不定个数的位置参数)

6.示例6:

x = [1, 2, 3]

r = zip(* [x] * 3)

print r

运行的结果是:

[(1, 1, 1), (2, 2, 2), (3, 3, 3)]

它的运行机制是这样的:

[x]生成一个列表的列表,它只有一个元素x

[x] * 3生成一个列表的列表,它有3个元素,[x, x, x]

zip(* [x] * 3)的意思就明确了,zip(x, x, x)

7.利用zip ,数组转换为字典案例

例如文件对比程序:

思路为:获取前后文件名和MD5码,然后对比。

前获取的文件名和md5码为 --- f1=['a', 'b', 'c'] md1=['111', '222', 333']

后获取的文件名和md5码为 --- f2=['a', 'b', 'c' ,'d'] md2 =['111', '222', '33','444']

利用字典的key,value生成索引关系来对比,字典的速度极快,比列表遍历对比效率高很多。

ddict1=dict(zip(f1,md1))

ddict2=dict(zip(f2,md2))

for i inrange(0, len(f1)):if ddict2.has_key(f1[i]): ##找到相同文件的md5值

if ddict1[f1[i]]!=ddict2[f1[i]]:##文件名相同但MD5不同,处理有改动的

f2.remove(f1[i])else:##都相同不处理

f2.remove(f1[i])else:##没找到此文件,说明被删除

if len(f2)>0:   新增

python zip函数_python内置函数-zip相关推荐

  1. decode函数_Python 内置函数总一

    内置函数 python内置函数,截至python3.6.2版本之前一共68个内置函数,内置函数是可以直接使用的函数. Python标准库/内置函数链接:点击此处 内置函数分类 作用域相关 基于字典的形 ...

  2. python long函数_python 内置函数

    查看内置函数: >>> dir(__builtins__) min(arg1, arg2, *args, *[, key=func])函数:函数至少传入两个参数,但是有只传入一个参数 ...

  3. python内置方法就是内置函数_python内置函数

    什么是内置函数? 就是python给你提供的,拿来直接用的函数, 比如print 和 input等等. 截止到python版本3.6.2 python一共提供了68个内置函数. 他们就是python直 ...

  4. python filter内置函数_python 内置函数filter

    python 内置函数filter class filter(object): """ filter(function or None, iterable) --> ...

  5. python内置的数字运算函数_Python 内置函数1

    abs(x)函数 返回绝对值 参数可以是:负数.正数.浮点数或者长整形 print(abs(-1.2)) # 结果1.2 cmp(x, y)函数 (python3已删) 中文说明: 比较两个对象x和y ...

  6. python property函数_Python内置函数property()如何使用

    代码 class Shuxing(): def __init__(self, size = 10): self.size = size def getSize(self): print('getSiz ...

  7. exec是不是python的内置函数_Python内置函数(62)——exec

    英文文档: exec(object[, globals[, locals]])This function supports dynamic execution of Python code. obje ...

  8. python compile函数_python 内置函数 compile()

    python 内置函数 compile() 这个函数用来编译一段字符串的源码,结果可以生成字节码或者AST(抽像语法树),字节码可以使用函数exec()来执行,而AST可以使用eval()来继续编译. ...

  9. python 乘法内置函数_Python内置函数--reversed()

    python内置了一些非常精巧且强大的函数,对初学者来说,一般不怎么用到,但是偶尔会碰到,我也是用了一段时间python之后才发现,哇还有这么好的函数,每个函数都非常经典,而且经过严格测试,使用内置函 ...

  10. python filter函数_python 内置函数filter

    python 内置函数filter class filter(object): """ filter(function or None, iterable) --> ...

最新文章

  1. 跨平台PHP调试器设计及使用方法——探索和设计
  2. WebAssembly能不能取代JavaScript?15张卡通图给你答案!
  3. 关于用批处理写ftp上传文件
  4. No result defined for action com.lk.IndexAction and result success
  5. 【AngularJs学习笔记五】AngularJS从构建项目开始
  6. 图片列表页的显示方法
  7. 财务有必要学python吗-财务人要学Python吗?
  8. DL实战(3):cfNet- Matlab配置
  9. [Qualcomm][Debug] 不用软件抓QXDM LOG
  10. 输出实数的格式,包括:⑴一行输出一个实数;⑵一行内输出两个实数;⑶一行内输出三个实数。实数用“6.2f“格式输出2020.11.12
  11. 【C语言】C语言实现strcmp库函数
  12. 基于CAJViewer的学术文献使用技巧
  13. tomcat 服务器无响应,关于tomcat:数据库连接池连接耗尽导致tomcat请求无响应呈现出假死状态...
  14. Java 时间处理 ZoneId
  15. 思维模型:建立高品质思维的30种模型
  16. Java并发的一些总结(面试须知)
  17. 「网易云音乐」歌单推荐算法
  18. 8-2 sdust-Java-文件读取与统计【人工判编程题】 (30 分)
  19. rtk 精确定位 简介
  20. ReportStudio入门教程(七十二) - 显示时间进度(进度条版)

热门文章

  1. 大数据如何助力农业发展
  2. 基于Android系统的IPv6网络接入分析
  3. python中、函数定义可以不包括以下_python函数定义精讲
  4. Iterative learning control for linear discrete delay systems via discrete matrix delayed exponential
  5. 二叉链表和职工管理系统结合_C语言课程设计_职工信息管理系统_单链表实现程序源代码...
  6. c语言贪婪遗传算法算法背包问题,求高手帮我用C语言写一个运用贪心和遗传算法求解背包问题的程序。。。。谢谢!!!!!!十分紧急!!!...
  7. Android程序中回调的讲解和使用
  8. 初步学习Django-第八篇:ORM常用操作
  9. 由canvas实现btn效果有感
  10. React-Native 相关