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

Python中的zip()函数如何使用,并且有什么用途?

发布时间:2023-06-16 23:32:22

Python中的zip()函数是一个内置函数,用于实现并行迭代。zip()函数将一个或多个可迭代的序列(列表、元组、字符串等)合并为一个元组,返回一个迭代器对象,每个元组都包含来自每个可迭代的序列中具有相同索引的元素。如果可迭代的序列长度不同,则将停止在较短序列的末尾。

语法:

zip(*iterables)

参数说明:

*iterables:可迭代的序列。

zip()函数的作用:

1. 实现并行迭代:在处理两个或多个序列数据时,可以通过并行迭代的方式,同时遍历不同的序列,并取出对应位置上的数据,从而进行处理。

例如:

a = [1, 2, 3]

b = ['a', 'b', 'c']

c = [0.1, 0.2, 0.3]

for i, j, k in zip(a, b, c):

    print(i, j, k)

输出结果为:

1 a 0.1

2 b 0.2

3 c 0.3

2. 列表转置:可以将原来的多个列表进行转置,即每个列表中相同下标的元素组成一个元组,这些元组再组成一个新的列表。

例如:

a = [1, 2, 3]

b = ['a', 'b', 'c']

c = [0.1, 0.2, 0.3]

d = list(zip(a,b,c))

print(d)

输出结果为:

[(1, 'a', 0.1), (2, 'b', 0.2), (3, 'c', 0.3)]

3. 快速反转字典:可以通过zip()函数将字典键值对进行反转,即键变为值,值变为键。

例如:

a = {'a':1, 'b':2, 'c':3}

b = dict(zip(a.values(),a.keys()))

print(b)

输出结果为:

{1: 'a', 2: 'b', 3: 'c'}

4. 合并两个列表:可以使用zip()函数将两个列表中对应位置的元素进行合并,形成新的元组列表。

例如:

a = [1, 2, 3]

b = [4, 5, 6]

c = list(zip(a,b))

print(c)

输出结果为:

[(1, 4), (2, 5), (3, 6)]

总结:

zip()函数用于将多个序列进行并行迭代,实现处理多个序列的目的。它可以将多个列表转置、合并、快速反转字典等,具有广泛的应用场景。