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重新引入被覆盖的自带function
Jul 16 Python
python分析apache访问日志脚本分享
Feb 26 Python
python脚本实现xls(xlsx)转成csv
Apr 10 Python
浅谈python 四种数值类型(int,long,float,complex)
Jun 08 Python
Python循环语句中else的用法总结
Sep 11 Python
Python读取word文本操作详解
Jan 22 Python
Python中文件的读取和写入操作
Apr 27 Python
pyqt5利用pyqtDesigner实现登录界面
Mar 28 Python
Kali Linux安装ipython2 和 ipython3的方法
Jul 11 Python
在django view中给form传入参数的例子
Jul 19 Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
Jun 11 Python
浅谈anaconda python 版本对应关系
Oct 07 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/07/08 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
php图片裁剪函数
2018/10/31 PHP
js对象内部访问this修饰的成员函数示例
2014/04/27 Javascript
什么是Node.js?Node.js详细介绍
2014/06/01 Javascript
超级好用的jQuery圆角插件 Corner速成
2014/08/31 Javascript
JavaScript设计模式之策略模式实例
2014/10/10 Javascript
JavaScript实现的一个计算数字步数的算法分享
2014/12/06 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
2015/02/17 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
jQuery实现的监听导航滚动置顶状态功能示例
2018/07/23 jQuery
微信小程序学习笔记之获取位置信息操作图文详解
2019/03/29 Javascript
详解Bootstrap 学习(一)入门
2019/04/12 Javascript
运用js实现图层拖拽的功能
2019/05/24 Javascript
微信小程序蓝牙连接小票打印机实例代码详解
2019/06/03 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
Python列出一个文件夹及其子目录的所有文件
2016/06/30 Python
Python 正则表达式的高级用法
2016/12/04 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
python实现求两个字符串的最长公共子串方法
2018/07/20 Python
python进程的状态、创建及使用方法详解
2019/12/06 Python
解决Python使用列表副本的问题
2019/12/19 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
马来西亚网上美容店:Hermo.my
2017/11/25 全球购物
建设幸福中国演讲稿
2014/09/11 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
2014年大学生职业规划书:未来不是梦,只要勇敢冲!
2014/09/22 职场文书
2016年春季运动会广播稿
2015/08/19 职场文书
中学语文教学反思
2016/02/16 职场文书
微信小程序用户授权最佳实践指南
2021/05/08 Javascript
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers
Win10 heic文件怎么打开 ? Win10 heic文件打开教程
2022/04/06 数码科技
python数字图像处理之对比度与亮度调整示例
2022/06/28 Python