zip, zip_longest()
zip(),zip_longest()
描述
-
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。
-
我们可以使用 list() 转换来输出列表。
-
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,而zip_longest()是以最长对象为基准,利用 * 号操作符,可以将元组解压为列表。
语法
zip([iterable, ...])
返回值
返回一个对象
示例
长度相同
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> c = zip(a, b)
>>> c
<zip at 0x18dc5d0d980>
# 转换为列表
>>> list(c)
[(1, 4), (2, 5), (3, 6)]
长度不同
# from itertools import zip_longest
>>> a = [1, 2, 3]
>>> s = [7, 8, 9, 10]
>>> c = zip(a, s)
>>> list(c)
# 以元素少的a列表为准
[(1, 7), (2, 8), (3, 9)]
>>> c = zip_longest(a, s)
[(1, 7), (2, 8), (3, 9), (None, 10)]
>>> c = zip_longest(s, a)
[(7, 1), (8, 2), (9, 3), (10, None)]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix