Python中的zip()

语法如下:

zip(iter1 [,iter2 [...]]) —> zip object

zip()函数将多个可迭代对象中对应的元素打包成一个个元组,然后返回一个可迭代对象。如果元素的个数不一致,则返回的长度与最短的对象相同。

简单来说,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)))

 

posted @ 2020-05-02 16:04  chuyaoxin  阅读(726)  评论(0编辑  收藏  举报