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之从if开始语句的征程
Sep 14 Python
详解Python核心对象类型字符串
Feb 11 Python
Python文本统计功能之西游记用字统计操作示例
May 07 Python
Python生成短uuid的方法实例详解
May 29 Python
python实现猜数字小游戏
Mar 24 Python
python实现在函数图像上添加文字和标注的方法
Jul 08 Python
python编写计算器功能
Oct 25 Python
TensorFlow:将ckpt文件固化成pb文件教程
Feb 11 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
Apr 10 Python
python matplotlib.pyplot.plot()参数用法
Apr 14 Python
python 实现逻辑回归
Dec 30 Python
python超详细实现完整学生成绩管理系统
Mar 17 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 注释规范
2012/03/29 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
PHP中16个高危函数整理
2019/09/19 PHP
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
基于jquery的高性能td和input切换并可修改内容实现代码
2011/01/09 Javascript
jquery validate 自定义验证方法介绍 日期验证
2014/02/27 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
为何JS操作的href都是javascript:void(0);呢
2015/11/12 Javascript
vue.js实现仿原生ios时间选择组件实例代码
2016/12/21 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
JavaScript中双向数据绑定详解
2017/05/03 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
2018/04/21 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
vue获取form表单的值示例
2019/10/29 Javascript
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
12步教你理解Python装饰器
2016/02/25 Python
python版学生管理系统
2018/01/10 Python
为什么str(float)在Python 3中比Python 2返回更多的数字
2018/10/16 Python
python 定义n个变量方法 (变量声明自动化)
2018/11/10 Python
python递归法解决棋盘分割问题
2019/07/17 Python
python 抓包保存为pcap文件并解析的实例
2019/07/23 Python
centos7之Python3.74安装教程
2019/08/15 Python
Python 函数绘图及函数图像微分与积分
2019/11/20 Python
Python实现粒子群算法的示例
2021/02/14 Python
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
Ray-Ban雷朋西班牙官网:全球领先的太阳眼镜品牌
2018/11/28 全球购物
高三自我鉴定范文
2013/10/19 职场文书
厕所文明标语
2014/06/11 职场文书
合同意向书范本
2014/07/30 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
2015年学校信息技术工作总结
2015/05/25 职场文书
幼儿园迎新生欢迎词
2015/09/30 职场文书
源码解读Spring-Integration执行过程
2021/06/11 Java/Android