zip函数的用法: 详情参考:菜鸟教程http://www.runoob.com/python/python-func-zip.html 注意!!!!!!!!!!!!!python2,python3的用法一样但是返回值不一样,python2返回的是一个列表,python3返回的是一个对象。
python2:
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组, 然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同, 利用 * 号操作符,可以将元组解压为列表。
python3:
zip() 函数用于将可迭代的对象作为参数, 将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,
这样做的好处是节约了不少的内存。如需展示列表,需手动 list() 转换。
下面针对python3进行测试:
语法: zip([iterable, ...])
a1 = [1,2,3,4]
b1 = [5,6,7,8]
c1 = [4,5,6,7,8,9,0]
zi = zip(a1,b1) #返回一个对象 <zip object at 0x7f71c0062788>
print(zi)
li = list(zi) # [(1, 5), (2, 6), (3, 7), (4, 8)]
print(li)
ziac = zip(a1,c1)
print(list(ziac)) # [(1, 4), (2, 5), (3, 6), (4, 7)]
a,b = zip(*li) # 与 zip 相反,zip(*) 可理解为解压
print(list(a)) # [1, 2, 3, 4]
print(list(b))
ziabc = zip(a1,b1,c1)
print(list(ziabc)) # [(1, 5, 4), (2, 6, 5), (3, 7, 6), (4, 8, 7)]
利用zip()函数完成一个小测试:(一些公司在面试中可能会考察python基础)
假设有如下两个 list:a = ['a', 'b', 'c', 'd', 'e'],b = [1, 2, 3, 4, 5],
将 a 中的元素作为 key,b 中元素作为 value,将 a,b 合并为字典。
扫描二维码关注公众号,回复:
3748572 查看本文章
a = ['a', 'b', 'c', 'd', 'e']
b = [1, 2, 3, 4, 5]
print(dict(zip(a,b)))
是不是很简单!!!