python zip()函数的使用示例


Posted in Python onSeptember 23, 2020

zip()函数将可迭代的对象作为参数,将对象对应的元素打包成一个个元祖,然后返回由这些元祖组成的对象,我们可以使用list()转换成列表

如果各个迭代器的元素个数不一致,则返回列表长度和最小的对象相同,用*好操作符,可以将元祖解压为列表

1.两个或者多个list

a=[1,2,3]
b=[4,5,6]
c=[7,8,9,10]  

#两个list去zip()
zip(a,b)

#三个list去zip(),返回的对象的长度和最小的迭代器一致
zip(a,b,c)

#用list()查看zip后的数据
list(zip(a,b)) #[(1, 4), (2, 5), (3, 6)]
list(zip(a,b,c)) #[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

#使用zip(*zip())解压
a1,b1=zip(*zip(a,b))

#两个list迭代输出
for i,j in zip(a,b):
  print(i,j)

输出:

1 4
2 5
3 6

2.如有两个list,一个是一层,一个是嵌套,要组成一个dict

#将zip对象转换成字典看看
a=[1,2,3]
d=[['a','b','c'],['aa','bb','cc'],['aaa','bbb','ccc']]

dict(zip(a,d)) #{1: ['a', 'b', 'c'], 2: ['aa', 'bb', 'cc'], 3: ['aaa', 'bbb', 'ccc']}
#如果一个是key值,一个内层list就是一行value
[dict(zip(a,value)) for value in d] #[{1: 'a', 2: 'b', 3: 'c'},
 {1: 'aa', 2: 'bb', 3: 'cc'},
 {1: 'aaa', 2: 'bbb', 3: 'ccc'}]

#或者是  
l=[]
for value in d:
  dict={}
  for i in range(len(value)):
    dict[a[i]]=value[i]
  l.append(dict)

3.同时遍历两个dict

如果长度相同的dict直接用zip函数即可同时for
如果长度不同,可以先把这两个dict整合进一个list再for

dict_1=dict(zip(a,b)) #{1: 4, 2: 5, 3: 6}
dict_2=dict(zip(a,d)) # {1: ['a', 'b', 'c'], 2: ['aa', 'bb', 'cc'], 3: ['aaa', 'bbb', 'ccc']}


#key的遍历
for i,j in zip(dict_1,dict_2):
  print(i,j)

输出:

1 1
2 2
3 3

#values的遍历
for i ,j in zip(dict_1.values(),dict_2.values()):
  print(i,j)

输出:

4 ['a', 'b', 'c']
5 ['aa', 'bb', 'cc']
6 ['aaa', 'bbb', 'ccc']

#同时遍历,需要2个dict的value都是多层的
dict_4=dict(zip(b,d))  #{4: ['a', 'b', 'c'], 5: ['aa', 'bb', 'cc'], 6: ['aaa', 'bbb', 'ccc']}
for i,j in zip(dict_4,dict_2):
  for k in dict_4[i]:
    print(i,k)
  for m in dict_2[j]:
    print(j,m)

输出:

4 a
4 b
4 c
1 a
1 b
1 c
5 aa
5 bb
5 cc
2 aa
2 bb
2 cc
6 aaa
6 bbb
6 ccc
3 aaa
3 bbb
3 ccc

以上就是python zip()的使用示例的详细内容,更多关于python zip()的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python random模块常用方法
Nov 03 Python
python使用urlparse分析网址中域名的方法
Apr 15 Python
在Django中创建动态视图的教程
Jul 15 Python
教你用python3根据关键词爬取百度百科的内容
Aug 18 Python
微信跳一跳辅助python代码实现
Jan 05 Python
python将字符串以utf-8格式保存在txt文件中的方法
Oct 30 Python
使用pandas读取文件的实现
Jul 31 Python
解决pyshp UnicodeDecodeError的问题
Dec 06 Python
自学python用什么系统好
Jun 23 Python
Python基于callable函数检测对象是否可被调用
Oct 16 Python
python实现PolynomialFeatures多项式的方法
Jan 06 Python
Django展示可视化图表的多种方式
Apr 08 Python
python 判断一组数据是否符合正态分布
Sep 23 #Python
python合并多个excel文件的示例
Sep 23 #Python
详解Python yaml模块
Sep 23 #Python
python 绘制场景热力图的示例
Sep 23 #Python
Anaconda使用IDLE的实现示例
Sep 23 #Python
python获取时间戳的实现示例(10位和13位)
Sep 23 #Python
python rsa-oaep加密的示例代码
Sep 23 #Python
You might like
PHP针对JSON操作实例分析
2015/01/12 PHP
php清除和销毁session的方法分析
2015/03/19 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
2016/03/05 PHP
php实现每日签到功能
2018/11/29 PHP
Javascript UrlDecode函数代码
2010/01/09 Javascript
js自定义事件及事件交互原理概述(一)
2013/02/01 Javascript
解析jQuery与其它js(Prototype)库兼容共存
2013/07/04 Javascript
js脚本实现数据去重
2014/11/27 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
2016/09/24 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
js css自定义分页效果
2017/02/24 Javascript
Vue.js基础学习之class与样式绑定
2017/03/20 Javascript
Bootstrap Table中的多选框删除功能
2018/07/15 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
2018/09/20 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
node.JS事件机制与events事件模块的使用方法详解
2020/02/06 Javascript
微信小程序仿通讯录功能
2020/04/09 Javascript
js根据后缀判断文件文件类型的代码
2020/05/09 Javascript
Python 在字符串中加入变量的实例讲解
2018/05/02 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
如何运行.ipynb文件的图文讲解
2019/06/27 Python
pyCharm 实现关闭代码检查
2020/06/09 Python
详细分析Python可变对象和不可变对象
2020/07/09 Python
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
Lacoste(法国鳄鱼)加拿大官网:以标志性的POLO衫而闻名
2019/05/15 全球购物
德国的各种媒体在线商店:Thalia.de(书籍、电子书、玩具等)
2020/10/08 全球购物
前台文员的岗位职责
2013/11/14 职场文书
开业庆典策划方案
2014/02/18 职场文书
初中英语演讲稿
2014/04/29 职场文书
公司市场专员岗位职责
2014/06/29 职场文书
小学生表扬稿范文
2015/05/05 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
遗失证明范文
2015/06/19 职场文书
详解CocosCreator项目结构机制
2021/04/14 Javascript
Python与C++中梯度方向直方图的实现
2022/03/17 Python
macos系统如何实现微信双开? mac登录两个微信以上微信的技巧
2022/07/23 数码科技