描述:zip函数将可迭代对象转化为数组对象。 1)将字典转化成数组列表
d1 = {x:randint(50,100) for x in 'qwuip'} #字典列表 z1 = zip(d1.keys(),d1.values())#数组对象 print(d1) print(z1)#输出的是数组对象 print(list(z1))#将数组对象转成数组列表输出输出结果为:
{'q': 71, 'w': 53, 'u': 73, 'i': 56, 'p': 70} <zip object at 0x000001D05A898FC8> [('q', 71), ('w', 53), ('u', 73), ('i', 56), ('p', 70)]2)将列表转化成数组
l1 = [i for i in range(1,5)] l2 = [i for i in range(6,9) ] l3 = [i for i in range(10,20)] print(l1) print(l2) print(l3) z1 = zip(l1,l2) z2 = zip(l1,l2,l3) print(list(z1)) print(list(z2))输出结果:
[1, 2, 3, 4] [6, 7, 8] [10, 11, 12, 13, 14, 15, 16, 17, 18, 19] [(1, 6), (2, 7), (3, 8)] [(1, 6, 10), (2, 7, 11), (3, 8, 12)]列表长度不一样的时候,只以长度最短的列表为准转化成数组。 3)python2和python3中的zip函数的差异: python2中的zip函数得到的结果直接是列表了,而python3中的zip函数得到的是对象,要输出可见结果需要list转化一下。