在 Python 中,zip 函数可以用于两种情况:打包(压缩)和解压(解包)。
1.打包(压缩):
当传递多个可迭代对象作为参数给 zip 函数时,它会将这些可迭代对象的相同位置的元素组合成元组,从而创建一个新的可迭代对象
。
例如,zip([1, 2, 3], [‘a’, ‘b’, ‘c’]) 会返回一个可迭代对象,其中包含三个元组:(1, ‘a’)、(2, ‘b’) 和 (3, ‘c’)。这是一种打包(压缩)操作,将多个可迭代对象的元素配对在一起。
2.解压(解包):
当使用 zip 函数并将其结果解压(unpack)到多个变量中时,它将解压可迭代对象中的元素,并将每个元素分配给相应的变量。
例如,a, b = zip((1, ‘a’), (2, ‘b’), (3, ‘c’)) 会将第一个元组中的第一个元素(1)分配给变量 a,第二个元组中的第一个元素(2)分配给变量 b。
这是一种解压(解包)操作,将可迭代对象的元素提取到单独的变量中。
总之,zip 函数既可以用于将多个可迭代对象组合(打包),也可以用于将一个可迭代对象的元素解压(解包)到多个变量中,具体取决于如何使用和处理其结果。
names = ["Alice", "Bob", "Charlie"]
scores = [85, 92, 78]
# 使用 zip 函数将两个可迭代对象组合在一起
zipped_data = zip(names, scores)
# 打印组合后的数据
for data in zipped_data:
print(data)
输出
('Alice', 85)
('Bob', 92)
('Charlie', 78)
zipped_data = zip(names, scores)
a,b = zip(* zipped_data)
print(a,b)
输出:
('Alice', 'Bob', 'Charlie')
(85, 92, 78)