python-基础语法-zip()函数

本文详细解析了Python内置函数zip()的功能与用法,包括如何将多个可迭代对象的元素打包成元组,以及在不同Python版本中返回值的差异。通过示例展示了zip()函数在处理不同长度列表时的行为,并提醒开发者注意zip对象的生存周期问题。

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

0.函数功能

作用:在一个或多个对象中,将对应的元素打包成一个元组

参数:以可迭代的对象作为参数

返回值:在python3中,返回这些元组组成的对象;在python2中,返回这些元组组成的列表

注意:如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。利用 * 号操作符,可以将元组解压为列表。

class zip(object)
 |  zip(iter1 [,iter2 [...]]) --> zip object
 |
 |  Return a zip object whose .__next__() method returns a tuple where
 |  the i-th element comes from the i-th iterable argument.  The .__next__()
 |  method continues until the shortest iterable in the argument sequence
 |  is exhausted and then it raises StopIteration.

 

1.代码示例

lowercase_letter = [chr(i) for i in range(97,123)]
print(lowercase_letter)
#result:['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
uppercase_letter = [chr(i) for i in range(65,91)]
print(uppercase_letter)
#result:['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']

for (ch,CH) in zip(lowercase_letter[:5],uppercase_letter[:10]):
    print((ch,CH),end=' ')
#result:('a', 'A') ('b', 'B') ('c', 'C') ('d', 'D') ('e', 'E')

代码首先生成了“小写字母”和“大写字母”两个列表,之后通过zip()函数组合起来。

由于“小写字母”列表只取了前5个值,所以最终结果也只匹配了最短列表中的元素。

 

2.zip()函数的生存周期

zip()函数返回的是一个对象,在使用的时候,要注意生存周期的问题,比如:

a = [1,2,3]
b = [4,5,6]
z = zip(a,b)
print(list(z))
print(list(z))

由于z是一个对象,在打印之前,需要先转换为list。

从结果上看,当我们第二次调用list(z),这时候的z已经为空了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值