zip是用于并行遍历的函数,常常被用到循环之中。
    zip()的作用就是把list1和list2两个对象中的对应元素放到一个元组(a,b)中,然后对这两个元素进行操作。这里可以理解为“压缩”。

    1. >>> list1 [2, 4, 6, 8]
    2. >>> list2 [11, 13, 15, 17, 19]
    3. >>> zip(list1,list2)
    4. [(2, 11), (4, 13), (6, 15), (8, 17)]
    5. # 找不到配对的19就给丢掉了

    加一个*号用于解压缩:

    1. >>> result = zip(list1,list2)
    2. >>> result [(2, 11), (4, 13), (6, 15), (8, 17)]
    3. >>> zip(*result) # 加一个*号
    4. [(2, 4, 6, 8), (11, 13, 15, 17)] # 放到了两个对应的元组里


    zip真正的用途在于让某些循环简化,特别是在用python读取数据库的时候(比如mysql):

    1. >>> myinfor.values() #得到两个list
    2. ['python', 'qiwsir', 'qiwsir.github.io']
    3. >>> myinfor.keys()
    4. ['lang', 'name', 'site']
    5. >>> temp = zip(myinfor.values(),myinfor.keys()) #压缩成一个list,每个元素是一个tuple
    6. >>> temp
    7. [('python', 'lang'), ('qiwsir', 'name'), ('qiwsir.github.io','site')]
    8. >>> dict(temp) #这是函数dict()的功能,将上述列表转化为dictionary,实现键-值转化!!
    9. {'python': 'lang', 'qiwsir.github.io': 'site', 'qiwsir': 'name'}