温馨提示×

python中zip的用法是什么

小亿
104
2023-09-25 19:18:38
栏目: 编程语言

在Python中,zip()是一个内建函数,用于将多个可迭代对象(例如列表、元组等)打包成一个元组的迭代器。它以最短的可迭代对象作为基准,返回一个包含元组的迭代器,每个元组由输入的可迭代对象的元素组成。

zip()函数的语法如下:

zip(*iterables)

其中,*iterables表示一个或多个可迭代对象。

以下是zip()函数的一些常见用法:

  1. 合并多个列表/元组:将多个列表或元组中相同索引位置的元素组合成一个元组。如果可迭代对象的长度不一致,zip()函数会以最短的可迭代对象的长度为准。
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
result = zip(list1, list2)
print(list(result))  # [(1, 'a'), (2, 'b'), (3, 'c')]
  1. 遍历多个可迭代对象:可以在for循环中同时遍历多个可迭代对象,将相同索引位置的元素组合起来使用。
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for x, y in zip(list1, list2):
print(x, y)
# 输出:
# 1 a
# 2 b
# 3 c
  1. 转置矩阵:可以用zip()函数将矩阵的行转置为列。
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
transposed_matrix = list(zip(*matrix))
print(transposed_matrix)
# 输出:
# [(1, 4, 7), (2, 5, 8), (3, 6, 9)]

需要注意的是,zip()函数返回的是一个迭代器,需要使用list()函数将其转换为列表进行展示。

0