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深入学习之装饰器
Aug 31 Python
Python计算程序运行时间的方法
Dec 13 Python
Python设计模式之抽象工厂模式
Aug 25 Python
python中日志logging模块的性能及多进程详解
Jul 18 Python
使用python语言,比较两个字符串是否相同的实例
Jun 29 Python
python的中异常处理机制
Aug 30 Python
Python深拷贝与浅拷贝用法实例分析
May 05 Python
python网络爬虫 Scrapy中selenium用法详解
Sep 28 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
Oct 12 Python
Python MOCK SERVER moco模拟接口测试过程解析
Apr 13 Python
Python小白垃圾回收机制入门
Jun 09 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
Jan 29 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中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
JQuery1.4+ Ajax IE8 内存泄漏问题
2010/10/15 Javascript
利用webqq协议使用python登录qq发消息源码参考
2013/04/08 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
2014/03/12 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
2014/04/02 Javascript
js获取UserControl内容为拼html时提供方便
2014/11/02 Javascript
Jquery树插件zTree实现菜单树
2017/01/24 Javascript
详解ECMAScript6入门--Class对象
2017/04/27 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
2018/04/22 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
关于Vue组件库开发详析
2018/07/01 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
JS+php后台实现文件上传功能详解
2019/03/02 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
2019/05/16 Javascript
基于JS实现视频上传显示进度条
2020/05/12 Javascript
基于javascript canvas实现五子棋游戏
2020/07/08 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
2020/08/14 Javascript
vue实现简单加法计算器
2020/10/22 Javascript
[37:02]OG vs INfamous 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
跟老齐学Python之大话题小函数(2)
2014/10/10 Python
Python中Random和Math模块学习笔记
2015/05/18 Python
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
利用python打印出菱形、三角形以及矩形的方法实例
2017/08/08 Python
深入浅析Python 中 is 语法带来的误解
2019/05/07 Python
Python GUI编程 文本弹窗的实例
2019/06/11 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
Python依赖包迁移到断网环境操作
2020/07/13 Python
python从Oracle读取数据生成图表
2020/10/14 Python
浅谈css3中calc在less编译时被计算的解决办法
2017/12/04 HTML / CSS
美国汽车交易网站:Edmunds
2016/08/17 全球购物
Nº21官方在线商店:numeroventuno.com
2019/09/26 全球购物
高中三年学习生活的自我评价
2013/10/10 职场文书
物流专业毕业生推荐信范文
2013/11/18 职场文书
《在山的那边》教学反思
2014/02/23 职场文书
会计稽核岗位职责
2015/04/13 职场文书
浅谈MySQL next-key lock 加锁范围
2021/06/07 MySQL