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内置函数使用不多, 如果以后有大量使用, 再持续补充使用场景.
时间: 2024-11-02 02:17:09