zip 是一个 Python 内置函数,它接受两个或多个可迭代对象(例如列表、元组等),并返回一个将这些可迭代对象中对应元素打包成元组的迭代器。每个元组中的元素来自于输入的可迭代对象的相同位置。
简单来说,zip 可以将多个可迭代对象“拉链”在一起,使得我们可以同时迭代多个可迭代对象的元素。
- list1 = [1, 2, 3]
- list2 = ['a', 'b', 'c']
- list3 = [10, 20, 30]
-
- # 使用 zip 将多个列表拉链在一起
- zipped = zip(list1, list2, list3)
-
- # 转换为列表查看结果
- result = list(zipped)
- print(result)
输出
[(1, 'a', 10), (2, 'b', 20), (3, 'c', 30)]
在上面的例子中,zip 将三个列表中对应位置的元素打包成了元组。在实际使用中,zip 常常用于同时迭代多个序列,特别是在需要同时处理多个序列元素的情况下。在上述代码中,zip 在 for result, gt in zip(results, gts) 中用于同时迭代 results 和 gts 中的元素。