码迷,mamicode.com
首页 > 其他好文 > 详细

内置函数zip

时间:2015-09-15 11:13:44      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

zip是干嘛用的?

    zip函数可以快速便捷的对多组列表或迭代器进行遍历重组, 也就是说能够完成简单的二维数组组成工作.

样例代码: 二维数组组成
# -.- coding:utf-8 -.-
__author__ = ‘zt‘

l1 = [1, 2, 3, 4]
l2 = [5, 6, 7, 8]
l3 = [9, 10, 11, 12]

print zip(l1, l2, l3)         # python 2
print(list(zip(l1, l2, l3)))  # python 3

输出结果: 这就是一个二维数组
[(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]
[(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]


zip的使用场景?

    多列表组成二维数组

            如上例子

    二维数组转换回多个列表

样例代码:
# -.- coding:utf-8 -.-
__author__ = ‘zt‘

x = [(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]

l1, l2, l3 = zip(*x)

print l1
print l2
print l3

输出结果:
(1, 2, 3, 4)
(5, 6, 7, 8)
(9, 10, 11, 12)


    利用zip生成字典

样例代码:
# -.- coding:utf-8 -.-
__author__ = ‘zt‘

l1 = ["姓名", "年龄", "性别", "籍贯", "兴趣爱好"]
l2 = ["张三", 25, "男", "海南", "LOL"]

print dict(zip(l1, l2))

输出结果:
{‘兴趣爱好‘: ‘LOL‘, ‘年龄‘: 25, ‘籍贯‘: ‘海南‘, ‘姓名‘: ‘张三‘, ‘性别‘: ‘男‘}


注意事项和结论:

    1. 若使用zip来生成字典, 那么列表对象或可迭代对象只能是两个, 因为字典的每个元素只有两个对象(一个是键、另外一个是值).

    2. 再写代码过程中因为目前对二维数组处理相对来说比较少, zip内置函数使用不多, 如果以后有大量使用, 再持续补充使用场景.



内置函数zip

标签:

原文地址:http://my.oschina.net/u/2452965/blog/506160

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!