python zip函数基础
2017-04-29 13:19
351 查看
又是在写一个小项目时用到了python的某个知识点函数,由于在实际的项目中用到了所以觉得应该复习一下它的基本知识了
zip函数 通俗一点就是一个可以结合多个列表的一个函数
也参照了其他一些博客的精髓,接下来我们从它的基本知识讲起:
举个例子:
[(1, 4, 7),(2, 5, 8),(3, 6, 9)] #可以看到zip返回出来的还是一个tuple列表
可以看出zip将三个列表采用一一对应的方式相结合起来了
再看一个明显一点的zip的列子:
zip可以处理一个或多个的列表,什么意思了呢,就是。。还是看代码吧
x = [1, 2, 3, 4]
x = zip(x)
print(list(x))
可以看出当只有一个列表甚至没有时zip也会进行操作,就是这个意思
要是两个列表的长度不一致zip会怎么处理呢?
x = [1, 2, 3]
y = [4, 5, 6, 7]
xy = zip(x, y)
print(list(xy))
zip类似于压缩与解压缩的操作:
x = [1, 2, 3] #unzip过程 类似于zip的逆过程
y = [4, 5, 6]
z = [7, 8 ,9]
xyz = zip(x, y, z)
zyx = zip(*xyz) # *xyz 表示将xyz列表中的元素来zip,当xyz列表中存的是列表元素时,就是将列表元素来zip
print(list(zyx)) #xyz是:xyz=[[1, 4, 7], [2, 5, 8], [3, 6, 9]] zip(*xyz)=>zip([1, 2, 3],[4, 5, 6],[7, 8, 9])
zip生成列表的方法:
x = [1, 2, 3, 4]
y = zip(* [x] * 2) #完成步骤 1: [x]会生成一个只有一个x元素的列表 2: [x]*2 列表元素*重复2次 3:那么zip(* [x] * 2)则表示zip(x, x)
print(list(y))
zip函数将字典反转成列表形式:
x = {'age':18,'name':'dh','id':3306}
print(x.items()) #以列表返回可遍历的(键, 值) 元组数组
以上只是zip的基础常见的用法,进阶篇可以参考其他相关的博客
zip函数以后的项目中你可能会使用许多,我在最近的一次爬虫中使用到了zip函数来规范、方便的保存爬下来的数据,十分方便,将不同的列表
之间建立起一种规律性的关系,以便你用来储存在MySQL数据库中
zip函数 通俗一点就是一个可以结合多个列表的一个函数
也参照了其他一些博客的精髓,接下来我们从它的基本知识讲起:
举个例子:
x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zip(x, y, z) print(list(i))
[(1, 4, 7),(2, 5, 8),(3, 6, 9)] #可以看到zip返回出来的还是一个tuple列表
可以看出zip将三个列表采用一一对应的方式相结合起来了
再看一个明显一点的zip的列子:
x = ["id", "name", "age"] y = [3306,"dh",18] xy = zip(x, y) print(list(xy))
[('id', 3306), ('name', 'dh'), ('age', 18)]可以明显的看出zip的作用了吧
zip可以处理一个或多个的列表,什么意思了呢,就是。。还是看代码吧
x = [1, 2, 3, 4]
x = zip(x)
print(list(x))
[(1,), (2,), (3,), (4,)]
x = zip() print(list(x))
[]
可以看出当只有一个列表甚至没有时zip也会进行操作,就是这个意思
要是两个列表的长度不一致zip会怎么处理呢?
x = [1, 2, 3]
y = [4, 5, 6, 7]
xy = zip(x, y)
print(list(xy))
[(1, 4), (2, 5), (3, 6)]可以看出y列表要比x列表长,但是zip后是以x为基准来结合的 注:(zip结合列表时会以最短的那个列表为它的长度)
zip类似于压缩与解压缩的操作:
x = [1, 2, 3] #unzip过程 类似于zip的逆过程
y = [4, 5, 6]
z = [7, 8 ,9]
xyz = zip(x, y, z)
zyx = zip(*xyz) # *xyz 表示将xyz列表中的元素来zip,当xyz列表中存的是列表元素时,就是将列表元素来zip
print(list(zyx)) #xyz是:xyz=[[1, 4, 7], [2, 5, 8], [3, 6, 9]] zip(*xyz)=>zip([1, 2, 3],[4, 5, 6],[7, 8, 9])
[(1, 2, 3), (4, 5, 6), (7, 8, 9)]
zip生成列表的方法:
x = [1, 2, 3, 4]
y = zip(* [x] * 2) #完成步骤 1: [x]会生成一个只有一个x元素的列表 2: [x]*2 列表元素*重复2次 3:那么zip(* [x] * 2)则表示zip(x, x)
print(list(y))
[(1, 1), (2, 2), (3, 3), (4, 4)]
zip函数将字典反转成列表形式:
x = {'age':18,'name':'dh','id':3306}
print(x.items()) #以列表返回可遍历的(键, 值) 元组数组
[('age', 18), ('name', 'dh'), ('id', 3306)]
x = zip(x.values(),x.keys()) print(list(x))
[(18, 'age'), ('dh', 'name'), (3306, 'id')]
以上只是zip的基础常见的用法,进阶篇可以参考其他相关的博客
zip函数以后的项目中你可能会使用许多,我在最近的一次爬虫中使用到了zip函数来规范、方便的保存爬下来的数据,十分方便,将不同的列表
之间建立起一种规律性的关系,以便你用来储存在MySQL数据库中
相关文章推荐
- python基础31[__XXX__函数]
- [Python入门及进阶笔记]Python-基础-函数小结
- CDays-2 习题一 (改进函数)及相关内容解析。Python 基础教程
- [Python] 内置序列函数之 filter, map, reduce, zip
- python基础学习-3(函数)
- Python连载系列之Python语法基础2:Python中的函数
- Python基础07 函数
- Python基础07 函数
- python基础(3)-函数
- python zip函数说明
- Python中zip()函数用法举例
- Python基础07 函数
- Python基础(3):函数
- CDays–3 通过函数进行功能化 Python基础教程
- Python中zip函数用法
- 【Python基础】函数
- Python基础知识(四)--函数
- PYTHON基础学习之操作类的一些函数
- python基础学习-3(函数)
- python zip函数说明