摘要:zip函数接受两个或多个可迭代对象作为参数,并返回一个迭代器,该迭代器聚合每个可迭代对象中的元素。可以把它想象成一个拉链,把不同列表中的元素组合成一个可迭代的元组。当处理相关数据但存储在不同序列中时,此功能非常方便。
zip函数接受两个或多个可迭代对象作为参数,并返回一个迭代器,该迭代器聚合每个可迭代对象中的元素。可以把它想象成一个拉链,把不同列表中的元素组合成一个可迭代的元组。当处理相关数据但存储在不同序列中时,此功能非常方便。
zip 的基本语法如下:
考虑这样一个场景:有两个列表:一个包含姓名,另一个包含年龄。希望打印每个姓名及其相应的年龄。
以下是如何使用 zip 实现这一点:
# Lists of names and agesnames = ['Alice', 'Bob', 'Charlie']ages = [24, 30, 35]# Using zip to iterate over both lists in parallelfor name, age in zip(names, ages): print(f"{name} is {age} years old.")输出量:
Alice is 24 years old.Bob is 30 years old.Charlie is 35 years old.这个代码片段演示了 zip 将 names 列表中的每个元素与 ages 列表中的相应元素配对的能力,从而允许以一种干净简洁的方式处理相关数据。
处理不同类的可迭代项默认情况下, zip 在最短可迭代对象耗尽时停止。但是,如果需要继续迭代直到最长的可迭代对象耗尽,可以使用 itertools.zip_longest ,使用指定的填充值填充缺失值。
解压缩值也可以使用 zip 和 * 操作符来将一个元组列表解压缩回单独的列表:
paired_list = list(zip(names, ages))unzipped_names, unzipped_ages = zip(*paired_list)来源:自由坦荡的湖泊AI一点号
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!