Python中zip()函数的基本用法及实际应用举例
发布时间:2023-06-26 23:44:41
zip()函数是Python内置函数之一,常用于将多个可迭代对象打包成一个元组序列,并返回这些元组组成的对象。zip()函数支持任意多个可迭代参数,参数可以是列表、元组、迭代器,还可以是字符串等。
zip()函数的基本语法如下:
zip(iterable1[, iterable2[, iterable3[,... iterableN]]])
参数解释:
- iterable1 ~ iterableN:需要打包的可迭代对象,可以是列表、元组、迭代器、字符串等。
返回值:
- 返回一个由tuple组成的zip对象,其中每个tuple由所有可迭代对象中对应位置的元素组成。
实际应用举例:
1. 求多个列表中对应元素的和
假设我们有三个列表:a = [1, 2, 3], b = [4, 5, 6], c = [7, 8, 9],要求将它们对应位置的元素相加,输出和的列表。
a = [1, 2, 3] b = [4, 5, 6] c = [7, 8, 9] sum_lst = [sum(x) for x in zip(a, b, c)] print(sum_lst)
输出结果为:
[12, 15, 18]
2. 将多个列表转化为字典
假设我们有两个列表:keys = ['a', 'b', 'c'],values = [1, 2, 3],要将它们转化为字典。
keys = ['a', 'b', 'c'] values = [1, 2, 3] dict_lst = dict(zip(keys, values)) print(dict_lst)
输出结果为:
{'a': 1, 'b': 2, 'c': 3}
3. 同时遍历多个列表
假设我们有两个列表:a = [1, 2, 3],b = ['a', 'b', 'c'],要同时遍历这两个列表并输出它们的对应元素。
a = [1, 2, 3]
b = ['a', 'b', 'c']
for x, y in zip(a, b):
print(x, y)
输出结果为:
1 a 2 b 3 c
4. 解压缩列表
假设我们有一个列表lst = [(1, 'a'), (2, 'b'), (3, 'c')],要将它解压缩为两个列表,其中一个包含所有的元素1, 2, 3,另一个包含所有的元素'a', 'b', 'c'。
lst = [(1, 'a'), (2, 'b'), (3, 'c')]
lst1, lst2 = [], []
for x, y in lst:
lst1.append(x)
lst2.append(y)
print(lst1, lst2)
输出结果为:
[1, 2, 3] ['a', 'b', 'c']
总结:
zip()函数是Python内置函数之一,它将多个可迭代对象打包成一个元组序列,并返回这些元组组成的对象。在实际应用场景中,zip()函数常用于求多个列表中对应元素的和、将多个列表转化为字典、同时遍历多个列表以及解压缩列表等操作。
