欢迎访问宙启技术站
智能推送

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代码。