zip()函数将多个可迭代对象中对应的元素打包成一个个元组,然后返回一个可迭代对象。如果元素的个数不一致,则返回的长度与最短的对象相同。
语法如下:
zip(iter1 [,iter2 [...]]) —> zip object
简单来说,zip()是将多个对象按照一一对应的方式合并到一起,然后返回一个称为zip object的特殊数据类型。
简单的三个小例子
例如:
uppercase = ['A', 'B', 'C'] lowercase = ['a', 'b', 'c'] for x, y in zip(uppercase, lowercase): print(x, y)
输出结果如下:
对象的个数可以是多个,
例如:
uppercase = ['A', 'B', 'C'] lowercase = ['a', 'b', 'c'] numbers = [1, 2, 3] for x, y, z in zip(uppercase, lowercase, numbers): print(x, y, z)
前面提到,如果元素的个数不一致,则返回列表的长度与最短的对象相同。
例如:
uppercase = ['A', 'B', 'C', 'D', 'E'] lowercase = ['a', 'b', 'c', 'd'] numbers = [1, 2, 3] for x, y, z in zip(uppercase, lowercase, numbers): print(x, y, z)
将zip()对象转换为列表
list()函数将zip对象转换为一个元组列表。
例如:
a = ["red", "green", "blue"] b = ["leopard", "cheetah", "jaguar"] print(list(zip(a, b)))
我们可以使用索引浏览各个元组
例如:
a = ["red", "green", "blue"] b = ["leopard", "cheetah", "jaguar"] new_list=list(zip(a, b)) print(new_list[0]) print(new_list[1]) print(new_list[2])
将zip()对象转换成字典
dict()函数可用于将zip对象转换为字典。需要注意的是,只能使用两个zip()参数-前者产生key,后者产生value
b = ["red", "green", "blue"] f = ["strawberry", "kiwi", "blueberry"] print(dict(zip(b, f)))