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

Python 中如何使用 zip() 函数合并列表?

发布时间:2023-05-21 12:56:57

在 Python 中,zip() 函数可以用于将多个列表并行合并为一个可迭代对象。该函数接受任意数量的参数,每个参数都是一个列表或者其他可迭代对象。zip() 函数会按照元素的顺序,将每个参数中相同位置的元素合并为一个元组,并将这些元组作为一个新的可迭代对象返回。因此,合并后的对象的长度将等于所有参数中最短的可迭代对象的长度。

下面是一个简单的示例,展示了如何使用 zip() 函数将两个列表合并为一个:

fruits = ['apple', 'banana', 'orange']
prices = [0.99, 0.25, 1.50]

for fruit, price in zip(fruits, prices):
    print(fruit, price)

输出结果如下:

apple 0.99
banana 0.25
orange 1.5

在这个例子中,我们通过调用 zip(fruits, prices) 函数将两个列表 fruits 和 prices 合并为一个新的可迭代对象。然后,我们使用 for 循环遍历这个对象,并通过元组解包的方式将 fruit 和 price 变量分别赋值为每个元组中的元素。最后,我们将这两个变量打印出来。

另外,zip() 函数还可以用于合并多个列表。只需要将需要合并的所有列表作为参数传递给 zip() 函数即可。下面是一个例子:

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
list3 = [True, False, True]

for item1, item2, item3 in zip(list1, list2, list3):
    print(item1, item2, item3)

输出结果如下:

1 a True
2 b False
3 c True

在这个例子中,我们将三个列表 list1、list2 和 list3 作为参数传递给 zip() 函数。然后,我们使用 for 循环遍历这个可迭代对象,并使用元组解包的方式将每个元组中的元素依次赋值给 item1、item2 和 item3 变量。最后,我们将这些变量打印出来。

需要注意的是,如果传递给 zip() 函数的可迭代对象长度不同,那么最终返回的可迭代对象的长度将等于最短的可迭代对象的长度。例如,如果我们将 list2 的长度改为 2,那么输出结果将会变成:

1 a True
2 b False

因为 list2 的长度变短了,所以最终返回的可迭代对象的长度也变成了 2。

总的来说,zip() 函数是在 Python 中非常有用和常见的函数之一,它可以方便地将多个列表组合在一起,以实现一些需要同时处理多个列表的操作。