Python zip函数

本文详细介绍了Python的内置函数zip()。它可将可迭代对象的对应元素打包成元组,返回由元组组成的对象。还说明了其语法、参数、返回值,给出使用示例,并强调参数须为可迭代对象,无参调用返回空对象,迭代多序列时短序列迭代完则过程终止。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

描述

语法

参数

返回值

使用示例

注意事项

1. 参数必须是可迭代对象

2. 无参调用zip()函数

3. 迭代多个序列时,当其中一个序列迭代完毕,迭代过程终止


描述

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值