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通过ElementTree操作XML获取结点读取属性美化XML
Dec 02 Python
python中getattr函数使用方法 getattr实现工厂模式
Jan 20 Python
使用python解析xml成对应的html示例分享
Apr 02 Python
Python入门篇之编程习惯与特点
Oct 17 Python
Python入门篇之字符串
Oct 17 Python
使用Python来编写HTTP服务器的超级指南
Feb 18 Python
python中将\\uxxxx转换为Unicode字符串的方法
Sep 06 Python
Python使用combinations实现排列组合的方法
Nov 13 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
Apr 01 Python
python多线程下信号处理程序示例
May 31 Python
python禁用键鼠与提权代码实例
Aug 16 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
Dec 10 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语法(1)
2006/10/09 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
2种jQuery 实现刮刮卡效果
2015/02/01 Javascript
JS从一组数据中找到指定的单条数据的方法
2016/06/02 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
Vue中的ref作用详解(实现DOM的联动操作)
2017/08/21 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
vue 优化CDN加速的方法示例
2018/09/19 Javascript
vue+vuex+json-seiver实现数据展示+分页功能
2019/04/11 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
[01:09]DOTAPLUS——DOTA2的新时代
2018/04/04 DOTA
python3访问sina首页中文的处理方法
2014/02/24 Python
Python中super的用法实例
2015/05/28 Python
深入浅析ImageMagick命令执行漏洞
2016/10/11 Python
python Matplotlib画图之调整字体大小的示例
2017/11/20 Python
Python3爬虫之自动查询天气并实现语音播报
2019/02/21 Python
用python建立两个Y轴的XY曲线图方法
2019/07/08 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
2020/01/18 Python
Python统计学一数据的概括性度量详解
2020/03/03 Python
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
美国名牌太阳镜折扣网站:Eyedictive
2017/05/15 全球购物
英国家喻户晓的高街品牌:River Island
2017/11/28 全球购物
中国京东和泰国中央集团合资的网站:JD CENTRAL
2020/08/22 全球购物
预备党员转正思想汇报
2014/01/12 职场文书
创业者是否需要商业计划书?
2014/02/07 职场文书
消防应急演练方案
2014/02/12 职场文书
知名企业招聘广告词大全
2014/03/18 职场文书
《云房子》教学反思
2014/04/20 职场文书
保护环境建议书100字
2014/05/13 职场文书
校本研修个人总结
2015/02/28 职场文书
元宵节晚会主持词
2015/07/01 职场文书
2016学习依法治国心得体会
2016/01/15 职场文书
人民币使用说明书
2019/04/17 职场文书
JavaScript实现登录窗体
2021/06/22 Javascript
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS