Python zip() 函数详解
发布时间:2023-07-02 18:26:17
zip() 函数是 Python 内置的一个函数,它可以将多个可迭代对象(比如列表、元组等)作为参数,将对应的元素打包成一个个元组,并返回一个可迭代对象。
zip() 函数的语法如下:
zip(*iterables)
其中,iterables 是一个或多个可迭代对象(多个可迭代对象之间用逗号分隔)。zip() 函数会返回一个由元组组成的新的可迭代对象,其中的每个元组由对应可迭代对象的元素组成。
zip() 函数的作用是将多个可迭代对象的元素一一对应组合在一起,可以方便地用于同时遍历多个可迭代对象或并行操作。
zip() 函数的返回值可以使用 list() 来转换为列表,也可以直接使用 for 循环来遍历。
下面是一些示例,演示了 zip() 函数的使用方法和效果:
# 示例1:将两个列表合并成一个元组构成的列表
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
result = list(zip(list1, list2))
print(result) # [(1, 'a'), (2, 'b'), (3, 'c')]
# 示例2:遍历两个列表,输出对应位置的元素对
for num, letter in zip(list1, list2):
print(num, letter)
# 1 a
# 2 b
# 3 c
# 示例3:将两个字符串按位合并
str1 = 'hello'
str2 = 'world'
result = ''.join([s1 + s2 for s1, s2 in zip(str1, str2)])
print(result) # hwelrllod
需要注意的是,当传入的可迭代对象的长度不同时,zip() 函数会以最短的可迭代对象的长度为准,忽略多余的部分。例如:
list1 = [1, 2, 3] list2 = ['a', 'b'] result = list(zip(list1, list2)) print(result) # [(1, 'a'), (2, 'b')]
在这个例子中,zip() 函数会忽略列表 list1 的最后一个元素 3,因为列表 list2 只有两个元素。
