Python函数zip()的介绍及用法
发布时间:2023-06-23 21:33:25
在Python语言中,有一种非常实用的函数叫做zip()。它常用于将两个或多个列表、元组等对象进行压缩合并,生成一个新的可迭代对象,其中的每个元素是输入对象中对应位置的元素的组合。
zip()函数的语法
zip()函数的语法非常简单,如下所示:
zip(iterable1, iterable2, ...)
其中,iterable1、iterable2等表示要压缩合并的对象,可以是多个列表、元组、集合等类型,也可以是任何可迭代对象。返回值是一个zip对象,其中的每个元素由输入对象中对应位置的元素组成,形如(元素1, 元素2, …)。
下面我们来看看zip()函数的使用方法和实例。
Python函数zip()的用法
1、将多个列表合并成一个元组列表
下面的代码演示了如何将三个列表中的元素压缩合并成一个元组列表。
a = [1, 2, 3] b = [4, 5, 6] c = [7, 8, 9] d = list(zip(a, b, c)) print(d)
输出结果为:
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
2、将多个元组合并成一个列表
下面的代码演示了如何将三个元组中的元素压缩合并成一个列表。
a = (1, 2, 3) b = (4, 5, 6) c = (7, 8, 9) d = list(zip(a, b, c)) print(d)
输出结果为:
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
3、压缩并转置多个列表
下面的代码演示了如何将三个列表中的元素压缩合并,并且进行转置。
a = [1, 2, 3] b = [4, 5, 6] c = [7, 8, 9] d = list(zip(a, b, c)) d_t = list(zip(*d)) print(d_t)
输出结果为:
[(1, 2, 3), (4, 5, 6), (7, 8, 9)]
4、获取字典的键和值列表
我们可以使用zip()函数来获取字典的键列表和值列表。下面的代码演示了如何获取一个字典d的键列表和值列表。
d = {'a': 1, 'b': 2, 'c': 3}
keys = list(d.keys())
values = list(d.values())
print(keys)
print(values)
输出结果为:
['a', 'b', 'c'] [1, 2, 3]
注意,使用zip()函数获取键和值列表的语法如下:
keys, values = zip(*d.items())
其中d.items()返回一个元素为键值对的列表,如下所示:
[('a', 1), ('b', 2), ('c', 3)]
因此,使用*将字典d.items()中的每个键值对解析成一个个元组,再使用zip()函数将键列表和值列表压缩合并起来,即可得到键列表和值列表。
