欢迎访问宙启技术站
智能推送

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程序员必学的函数之一。