Python zip函数
Python内置函数zip() 介绍、使用方法和注意事项。
·
目录
描述
zip函数是Python的内置函数,它用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象(即对多个序列进行并行迭代)。如果各个迭代器元素个数不一致,zip()函数则在最短序列“用完”时就会停止。
语法
zip(*iters)
参数
参数名称 | 说明 | 备注 |
*iters | 一个或多个可迭代序列 | 可省略的参数 |
返回值
zip()函数返回一个zip可迭代序列对象。
使用示例
>>> list_demo = [2, 5, 7]
>>> tuple_demo = ("Beijing", "Xi'an", "HongKang")
>>> for num, city in zip(list_demo, tuple_demo):
... print(num, city)
...
2 Beijing
5 Xi'an
7 HongKang
注意事项
1. 参数必须是可迭代对象
zip()函数的参数必须是可迭代对象。当参数不为可迭代对象时,代码抛出TypeError异常。
>>> zip(1, 2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: zip argument #1 must support iteration
2. 无参调用zip()函数
zip()函数的参数可省略,此时返回一个没有任何元素的zip对象。
>>> a = zip()
>>> a
<zip object at 0x101430908>
>>> b = list(a)
>>> b
[]
3. 迭代多个序列时,当其中一个序列迭代完毕,迭代过程终止
使用zip()函数迭代多个序列时,且序列的长短不一,若其中一个序列迭代完毕,整个迭代的过程结束。
下面的代码中,list_demo长度长于tuple_demo。使用zip函数迭代时,当tuple_demo的最后一个元素迭代完毕,整个迭代过程结束。无论list_demo后还有多少元素。
>>> list_demo = ["Python", "Java", "C", "C++", "PHP", "JavaScript", "HTML", "CSS"]
>>> tuple_demo = ("Linux", "Unix", "Windows", "OS X", "Android", "ios")
>>>
>>> for language, system in zip(list_demo, tuple_demo):
... print("%s in %s" % (language, system))
...
Python in Linux
Java in Unix
C in Windows
C++ in OS X
PHP in Android
JavaScript in ios
更多推荐
已为社区贡献8条内容
所有评论(0)