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向日志输出中添加上下文信息
May 24 Python
使用python实现BLAST
Feb 12 Python
Django框架使用富文本编辑器Uedit的方法分析
Jul 31 Python
Python实现Dijkstra算法
Oct 17 Python
Django 视图层(view)的使用
Nov 09 Python
python批量图片处理简单示例
Aug 06 Python
利用Python脚本批量生成SQL语句
Mar 04 Python
Django 实现对已存在的model进行更改
Mar 28 Python
OpenCV+python实现实时目标检测功能
Jun 24 Python
只用40行Python代码就能写出pdf转word小工具
May 31 Python
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 Python
Python jiaba库的使用详解
Nov 23 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
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
php导入大量数据到mysql性能优化技巧
2014/12/29 PHP
PHP实现指定字段的多维数组排序函数分享
2015/03/09 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
2016/06/30 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
2018/05/31 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
THINKPHP5分页数据对象处理过程解析
2020/10/28 PHP
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
2013/01/24 Javascript
jQuery插件scroll实现无缝滚动效果
2015/04/27 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
2015/07/18 Javascript
jQuery实现分隔条左右拖动功能
2015/11/21 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
使用React实现轮播效果组件示例代码
2016/09/05 Javascript
KnockoutJS 3.X API 第四章之事件event绑定
2016/10/10 Javascript
JS中substring与substr的用法
2016/11/16 Javascript
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
2017/11/30 Javascript
[04:00]DOTA2解说界神雕侠侣 CJ第四天谷子现场过生日
2013/07/30 DOTA
[36:14]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第二局
2016/02/28 DOTA
浅析Python中的赋值和深浅拷贝
2017/08/15 Python
Python中elasticsearch插入和更新数据的实现方法
2018/04/01 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
对python实现二维函数高次拟合的示例详解
2018/12/29 Python
Django admin 实现search_fields精确查询实例
2020/03/30 Python
使用python matploblib库绘制准确率,损失率折线图
2020/06/16 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
工程造价管理专业大专生求职信
2013/10/06 职场文书
外企财务年会演讲稿
2014/01/03 职场文书
渡河少年教学反思
2014/02/12 职场文书
企业领导班子四风对照检查材料
2014/09/27 职场文书
机关作风建设自查报告及整改措施
2014/10/21 职场文书
SQLServer2008提示评估期已过解决方案
2021/04/12 SQL Server
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL
Python实现8种常用抽样方法
2021/06/27 Python