Python中的zip函数及使用示例
发布时间:2023-06-15 15:57:06
Python中的zip函数是一个内置的函数,它将一系列可迭代的对象(如列表,元组或字符串)并行迭代,并返回一个由元祖构成的列表(或生成器)。
zip()函数中最常用的用途是将两个或多个序列中元素一一对应,生成一个新的元组序列。zip()函数通过把可迭代对象的元素依次对应打包成一个个元组,然后返回由这些元组构成的列表或者生成器,其中每个元组包含来自每个序列的一个元素。
使用语法:zip(*args)
参数说明:可传入任意数量的可迭代对象,包括序列、列表、字符串、元组、字典等。
下面给出几个zip函数的使用示例:
1. 普通用法
例:
lst1 = [1, 2, 3, 4, 5] lst2 = [6, 7, 8, 9, 10] result = zip(lst1, lst2) print(list(result))
输出结果:
[(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]
2. 处理字典
例:
dict1 = {'a': 1, 'b': 2, 'c': 3}
dict2 = {'d': 4, 'e': 5, 'f': 6}
result = zip(dict1, dict2)
print(list(result))
输出结果:
[('a', 'd'), ('b', 'e'), ('c', 'f')]
可以看到,zip函数处理字典时,仅对键进行迭代操作。
3. zip函数结合*解压
可以使用zip函数结合*解压符映射输出的元素列表。
例:
lst1 = [1, 2, 3] lst2 = [4, 5, 6] lst3 = [7, 8, 9] zipped = zip(lst1, lst2, lst3) a, b, c = zip(*zipped) print(a, b, c)
输出结果:
(1, 2, 3) (4, 5, 6) (7, 8, 9)
4. 遍历时使用zip函数
可以使用zip函数在线性遍历的时候,同时遍历两个数组的元素。
例:
lst1 = [1, 2, 3, 4, 5]
lst2 = [6, 7, 8, 9, 10]
for i, j in zip(lst1, lst2):
print(i, '+', j, '=', i+j)
输出结果:
1 + 6 = 7 2 + 7 = 9 3 + 8 = 11 4 + 9 = 13 5 + 10 = 15
以上就是zip函数的使用示例,总结一下:zip函数可以将多个可迭代对象打包成一个元祖列表,并且可以实现多种操作,如常规配对打包、映射和排序等应用。对于列表、元组、字典等数据结构的处理操作,zip()函数可以轻松地进行。
