Python学习笔记——zip函数的使用
声明:本博文纯是个人(Python新手)对自己学习Python的一个笔记与课后预习,并未一个程序员老手的经验之谈。所以在写作中难免很多疏漏甚至于简单的错误,若有大神恰巧路过,还望指正一二,本人感激不尽!
zip函数接受任意多个列表的输入,返回一个以元组(tuple)为元素的列表[1]。在Python的定义中,元组通过小括号表示,列表通过中括号表示,其中列表可以修改,而元组不可以修改[2]。通过Python的help命令,我们可以得到zip函数的具体解释为“Return a list of tuples, where each tuple contains the ith element from each of the argument sequences. The returned list is truncated in length to the length of the shortest argument”其大致意思就是分别提取N个列表的第i个元素组成一个元组,然后再将这些元组作为基本元素构成一个列表,其中列表的长度与最短的列表一致,具体见下面的示例:Example 1
name = ["Fitz","Jemma"]
Add=["NY","Washington"]
z=zip(name, Add)
print z
[("Fitz","NY"),("Jemma","Washington")]Example 2
name = ["Fitz","Jemma"]
Add=["NY","Washington","Seatle"]
z=zip(name, Add)
print z
[("Fitz","NY"),("Jemma","Washington")] #输出的列表长度与最短的输入列表一致
此外,若输入列中中的元素为字符串,zip还可以对其进行迭代处理,比如Example 3
name = ["Fitz","Jemma"]
Add=["NY","Washington","Seatle"]
z=zip(name[0], Add[0])#列表的索引从0开始,0表示分别对name和Add的第一个元素进行迭代输出
print z
[('F', 'N'), ('i', 'Y')] #输出的列表长度与最短的字符串一致
若输入列表中的元素为数字,则上述操作会报错,具体如下所示:
x=[1,2,3,4]
y=[2,3,4]
z=zip(x[0],y[0])
print z
报错:
Traceback (most recent call last):
File "D:/Other Softwares/Python/exc/skill.py", line 34, in
z=zip(x[0],y[0])TypeError: zip argument #1 must support iteration 表示输入的目标必须是可以迭代处理的。
最后,还值得注意的是,zip函数的输入对象除列表以外,还可以是元组,但其输出均是以元组为元素的列表。
参考文献转载本文请联系原作者获取授权,同时请注明本文来自陈振玺科学网博客。
链接地址:http://blog.sciencenet.cn/blog-1334016-935211.html
上一篇:Unix文件处理——获得比对到目标数据库中的序列数目
下一篇:Python学习笔记——一个简单网络爬虫的编写以及对应模块的学习