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写的服务监控程序实例
Jan 31 Python
Python中对元组和列表按条件进行排序的方法示例
Nov 10 Python
玩转python selenium鼠标键盘操作(ActionChains)
Apr 12 Python
深入浅析ImageMagick命令执行漏洞
Oct 11 Python
django使用图片延时加载引起后台404错误
Apr 18 Python
Python设计模式之命令模式简单示例
Jan 10 Python
Python实现的根据文件名查找数据文件功能示例
May 02 Python
解决python xlrd无法读取excel文件的问题
Dec 25 Python
windows下安装Python虚拟环境virtualenvwrapper-win
Jun 14 Python
python 实现12bit灰度图像映射到8bit显示的方法
Jul 08 Python
关于Python核心框架tornado的异步协程的2种方法详解
Aug 28 Python
从0到1使用python开发一个半自动答题小程序的实现
May 12 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
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
Yii框架操作cookie与session的方法实例详解
2019/09/04 PHP
JS的数组的扩展实例代码
2008/07/09 Javascript
Javascript Tab 导航插件 (23个)
2009/06/11 Javascript
IE8对JS通过属性和数组遍历解析不一样的地方探讨
2013/05/06 Javascript
JS辨别访问浏览器判断是android还是ios系统
2014/08/19 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
react-native-tab-navigator组件的基本使用示例代码
2017/09/07 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
2018/04/22 Javascript
layui弹出层按钮提交iframe表单的方法
2018/08/20 Javascript
详解微信小程序缓存--缓存时效性
2019/05/02 Javascript
npm qs模块使用详解
2020/02/07 Javascript
[02:57]DOTA2亚洲邀请赛小组赛第四日 赛事回顾
2015/02/02 DOTA
讲解Python中的递归函数
2015/04/27 Python
Python的Django框架中从url中捕捉文本的方法
2015/07/20 Python
Python 输出时去掉列表元组外面的方括号与圆括号的方法
2018/12/24 Python
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
利用Python实现朋友圈中的九宫格图片效果
2020/09/03 Python
Anaconda详细安装步骤图文教程
2020/11/12 Python
CSS3 选择器 伪类选择器介绍
2012/01/21 HTML / CSS
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
HTML5中的postMessage API基本使用教程
2016/05/20 HTML / CSS
中国茶叶、茶具一站式网上购物商城:醉品茶城
2018/07/03 全球购物
中学自我评价
2014/01/31 职场文书
职业培训师职业生涯规划
2014/02/18 职场文书
三年级小学生评语
2014/04/22 职场文书
学校献爱心活动总结
2014/07/08 职场文书
青年标兵事迹材料
2014/08/16 职场文书
员工培训协议书
2014/09/15 职场文书
初三毕业评语
2014/12/26 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
村党组织公开承诺书
2015/04/30 职场文书
婚宴父母致辞
2015/07/27 职场文书
Python机器学习之基于Pytorch实现猫狗分类
2021/06/08 Python
纯CSS打字动画的实现示例
2022/08/05 HTML / CSS