Python中的zip()函数简介
发布时间:2023-06-04 02:21:50
Python中的zip()函数是一种非常实用的内置函数,它可以将多个列表(或其他可以迭代的对象)进行压缩,返回一个zip对象,将多个列表中相同位置处的元素组合在一起。在实际应用中,常常需要将两个或多个列表/数组进行组合,使用zip()函数可以非常方便地实现这一目标。
zip()函数的语法
zip()函数的语法如下:
zip(*iterables)
其中,*iterables表示可迭代对象的参数,可以是多个列表、元组、集合等。
zip()函数的返回值
zip()函数返回一个zip对象,这个对象中包含了输入的多个序列中相等位置的元素对:
>>> a = [1, 2, 3] >>> b = ['a', 'b', 'c'] >>> c = ['x', 'y', 'z'] >>> zipped = zip(a, b, c) >>> print(zipped) <zip object at 0x000001>
zip()对象实际上是一个迭代器,在每次迭代中,它将返回一个元组,包含了不同序列中相同位置的元素。
zip()函数的作用
zip()函数可以将多个列表中相同位置的元素进行组合,生成一个新的列表。
应用举例
下面是几个使用zip()函数的例子:
1. 将两个列表按顺序合并:
>>> a = [1, 2, 3] >>> b = ['a', 'b', 'c'] >>> c = zip(a, b) >>> print(list(c)) [(1, 'a'), (2, 'b'), (3, 'c')]
2. 打印两个列表中具有相同位置的元素:
>>> names = ['Alice', 'Bob', 'Charlie'] >>> ages = [25, 19, 37] >>> for name, age in zip(names, ages): ... print(name, age) ... Alice 25 Bob 19 Charlie 37
3. 检查两个列表中相同位置的元素是否相等:
>>> a = [1, 2, 3]
>>> b = [2, 4, 6]
>>> for i, j in zip(a, b):
... if i == j:
... print('Equal')
... else:
... print('Not equal')
...
Not equal
Not equal
Not equal
4. 将多个列表中相同位置的元素组合成字典:
>>> keys = ['a', 'b', 'c']
>>> values = [1, 2, 3]
>>> d = dict(zip(keys, values))
>>> print(d)
{'a': 1, 'b': 2, 'c': 3}
5. 使用zip()函数进行矩阵转置:
>>> matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>> matrix_trans = list(zip(*matrix)) >>> print(matrix_trans) [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
总结
以上就是python中zip()函数的详细介绍,zip()函数可以将多个列表进行按顺序的合并,可以将多个列表中相同位置的元素组合成字典,可以用于矩阵的转置。使用zip()函数可以大大简化程序的编写,提高程序的效率和可读性。
