Python3中的zip函数(1)

zip函数将字典或者列表转化成数组列表

描述: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转化一下。

猜你喜欢

转载自blog.csdn.net/zxq6661/article/details/108959067