Python的zip()函数:如何将两个列表打包成一个元组列表
发布时间:2023-06-10 17:15:07
Python的zip()函数是一种非常强大的内置函数,它可以将多个可迭代对象打包成一个元组列表。在这个函数的实现中,它会取可迭代对象中的相同索引处的元素打包成一个元组,并将所有的元组组合成一个列表返回。这个函数的返回值是一个可迭代的zip对象,我们可以将这个对象转成列表或者元组,来获得我们所想要的数据。
在本文章中,我们将通过一个例子来介绍如何使用Python的zip()函数来将两个列表打包成一个元组列表。
假设我们有两个列表,一个列表包含产品名称,另一个列表包含产品价格,如下所示:
product_names = ['iPhone', 'iPad', 'Macbook', 'AirPods'] product_prices = [999, 399, 1299, 159]
我们现在想要将这两个列表打包成一个元组列表,其中每个元组都表示一个产品的名称和价格。我们可以使用Python的zip()函数来实现这个操作,如下所示:
product_tuples = list(zip(product_names, product_prices))
这个例子中,我们首先将zip()函数的结果转化成列表,因为我们需要访问这个列表中元素的值。最终的结果是一个包含四个元组的列表,每个元组都包含一个产品的名称和价格,如下所示:
[('iPhone', 999), ('iPad', 399), ('Macbook', 1299), ('AirPods', 159)]
zip()函数的工作原理是当一个元素列表用完时停止。例如,在这个例子中,我们只使用了product_names列表中的前四个元素和product_prices列表中的前四个元素,因为这两个列表的长度都是四。
需要注意的是,如果传递给zip函数的的可迭代对象长度不相同,则最终生成的列表长度等于最短的可迭代对象的长度。例如,在下面的例子中,第二个可迭代对象的长度大于第一个可迭代对象的长度时,zip函数只会返回包含两个元组的列表。
a = [1,2,3] b = ['a','b','c','d'] c = list(zip(a,b)) print(c)
输出为:
[(1, 'a'), (2, 'b'), (3, 'c')]
总结:
Python的zip()函数非常方便,可以将多个列表快速打包成一个元组列表。此函数操作简单、灵活,可以适应多种情况,是Python程序员必学的函数之一。
