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

Python中的zip()函数-将列表或元组等序列打包成元组的列表

发布时间:2023-06-23 09:52:25

在Python中,zip()函数是一个十分重要的函数。这个函数可以接收一组或多组序列作为参数,并将他们打包成一个元组列表。

在python2中,zip函数返回的是一个列表,每个元素是一个元组,每个元组中的元素来自于每个输入列表相同位置的元素。在python3中,zip函数返回的是一个zip对象(可迭代对象),需要使用list()函数将其转化为列表。

下面是一个简单的例子:

a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]

zip_res = zip(a, b, c)

for item in zip_res:
    print(item)

输出结果为:

(1, 4, 7)
(2, 5, 8)
(3, 6, 9)

zip()函数的参数可以是任何可迭代对象,如列表、元组、字符串等。此外,参数的长度可以不相等,这种情况下将以最短的参数为准。

zip()函数的主要用途是将多个列表或元组等序列中对应位置的元素打包成一个元组,方便对于这些元素进行操作。例如,我们可以通过zip()函数将两个列表中的对应位置的元素加起来:

a = [1, 2, 3]
b = [4, 5, 6]

zip_res = zip(a, b)

add_res = [i + j for i, j in zip_res]

print(add_res)

输出结果为:

[5, 7, 9]

除了可以将序列里的元素打包成元组之外,我们还可以使用星号(*)运算符解包元组,将元组中的元素分别赋值给多个变量。例如:

a = [1, 2, 3]
b = [4, 5, 6]

zip_res = zip(a, b)

for item in zip_res:
    x, y = item
    print(x, y)

输出结果为:

1 4
2 5
3 6

在python3中,还可以使用zip()函数实现同时遍历多个列表的功能:

a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]

for x, y, z in zip(a, b, c):
    print(x, y, z)

输出结果为:

1 4 7
2 5 8
3 6 9

总之,zip()函数是一个强大的函数,可以在很多场景下起到很大的作用。熟练掌握它的用法,可以让我们的编程变得更加便利和高效。