Python中的zip()函数应用指南 -
发布时间:2023-05-28 23:40:58
在Python中,zip()函数是一个经常使用的内置函数。它可以将多个可迭代对象打包成一个元组序列,其中每个元组包含来自每个可迭代对象的元素。在这篇文章中,我们将讨论Python中zip()函数的各种应用。
基本语法:
zip(*iterables)
*iterables是多个可迭代对象。
返回一个元组列表。
示例:
a = [1, 2, 3] b = [4, 5, 6] c = zip(a, b) print(list(c))
输出结果为:[(1, 4), (2, 5), (3, 6)]
1. 并行迭代
我们可以使用zip()函数来并行迭代多个序列。以下是一个示例:
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
for name, age in zip(names, ages):
print(name, age)
输出结果为:
Alice 25 Bob 30 Charlie 35
2. 转置二维数组
我们可以使用zip()函数来重新排序多维列表的行列。以下是一个示例:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] transposed = zip(*matrix) print(list(transposed))
输出结果为:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
3. 合并两个字典
我们可以使用zip()函数和字典解析来合并两个字典。以下是一个示例:
keys = ['a', 'b', 'c']
values = [1, 2, 3]
dictionary = {k:v for k, v in zip(keys, values)}
print(dictionary)
输出结果为:{'a': 1, 'b': 2, 'c': 3}
4. 解压缩序列
我们可以使用zip()函数来解压缩序列。以下是一个示例:
zipped = [('a', 1), ('b', 2), ('c', 3)]
letters, numbers = zip(*zipped)
print(letters)
print(numbers)
输出结果为:
('a', 'b', 'c')
(1, 2, 3)
5. 用zip()函数来计算列表间的差分
我们可以使用zip()函数来计算列表间的差分。以下是一个示例:
a = [1, 2, 3, 4] b = [2, 3, 4, 5] difference = [y-x for x, y in zip(a, b)] print(difference)
输出结果为:[1, 1, 1, 1]
以上就是Python中zip()函数的五个应用场景。掌握这些常用的函数,可以帮助你更加高效地编写Python代码。
