python zip函数_python内置函数-zip
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相关推荐
- decode函数_Python 内置函数总一
内置函数 python内置函数,截至python3.6.2版本之前一共68个内置函数,内置函数是可以直接使用的函数. Python标准库/内置函数链接:点击此处 内置函数分类 作用域相关 基于字典的形 ...
- python long函数_python 内置函数
查看内置函数: >>> dir(__builtins__) min(arg1, arg2, *args, *[, key=func])函数:函数至少传入两个参数,但是有只传入一个参数 ...
- python内置方法就是内置函数_python内置函数
什么是内置函数? 就是python给你提供的,拿来直接用的函数, 比如print 和 input等等. 截止到python版本3.6.2 python一共提供了68个内置函数. 他们就是python直 ...
- python filter内置函数_python 内置函数filter
python 内置函数filter class filter(object): """ filter(function or None, iterable) --> ...
- python内置的数字运算函数_Python 内置函数1
abs(x)函数 返回绝对值 参数可以是:负数.正数.浮点数或者长整形 print(abs(-1.2)) # 结果1.2 cmp(x, y)函数 (python3已删) 中文说明: 比较两个对象x和y ...
- python property函数_Python内置函数property()如何使用
代码 class Shuxing(): def __init__(self, size = 10): self.size = size def getSize(self): print('getSiz ...
- exec是不是python的内置函数_Python内置函数(62)——exec
英文文档: exec(object[, globals[, locals]])This function supports dynamic execution of Python code. obje ...
- python compile函数_python 内置函数 compile()
python 内置函数 compile() 这个函数用来编译一段字符串的源码,结果可以生成字节码或者AST(抽像语法树),字节码可以使用函数exec()来执行,而AST可以使用eval()来继续编译. ...
- python 乘法内置函数_Python内置函数--reversed()
python内置了一些非常精巧且强大的函数,对初学者来说,一般不怎么用到,但是偶尔会碰到,我也是用了一段时间python之后才发现,哇还有这么好的函数,每个函数都非常经典,而且经过严格测试,使用内置函 ...
- python filter函数_python 内置函数filter
python 内置函数filter class filter(object): """ filter(function or None, iterable) --> ...
最新文章
- 跨平台PHP调试器设计及使用方法——探索和设计
- WebAssembly能不能取代JavaScript?15张卡通图给你答案!
- 关于用批处理写ftp上传文件
- No result defined for action com.lk.IndexAction and result success
- 【AngularJs学习笔记五】AngularJS从构建项目开始
- 图片列表页的显示方法
- 财务有必要学python吗-财务人要学Python吗?
- DL实战(3):cfNet- Matlab配置
- [Qualcomm][Debug] 不用软件抓QXDM LOG
- 输出实数的格式,包括:⑴一行输出一个实数;⑵一行内输出两个实数;⑶一行内输出三个实数。实数用“6.2f“格式输出2020.11.12
- 【C语言】C语言实现strcmp库函数
- 基于CAJViewer的学术文献使用技巧
- tomcat 服务器无响应,关于tomcat:数据库连接池连接耗尽导致tomcat请求无响应呈现出假死状态...
- Java 时间处理 ZoneId
- 思维模型:建立高品质思维的30种模型
- Java并发的一些总结(面试须知)
- 「网易云音乐」歌单推荐算法
- 8-2 sdust-Java-文件读取与统计【人工判编程题】 (30 分)
- rtk 精确定位 简介
- ReportStudio入门教程(七十二) - 显示时间进度(进度条版)
热门文章
- 大数据如何助力农业发展
- 基于Android系统的IPv6网络接入分析
- python中、函数定义可以不包括以下_python函数定义精讲
- Iterative learning control for linear discrete delay systems via discrete matrix delayed exponential
- 二叉链表和职工管理系统结合_C语言课程设计_职工信息管理系统_单链表实现程序源代码...
- c语言贪婪遗传算法算法背包问题,求高手帮我用C语言写一个运用贪心和遗传算法求解背包问题的程序。。。。谢谢!!!!!!十分紧急!!!...
- Android程序中回调的讲解和使用
- 初步学习Django-第八篇:ORM常用操作
- 由canvas实现btn效果有感
- React-Native 相关