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 相关文章推荐
打开电脑上的QQ的python代码
Feb 10 Python
使用python实现strcmp函数功能示例
Mar 25 Python
Python简单进程锁代码实例
Apr 27 Python
详解Python中最难理解的点-装饰器
Apr 03 Python
Ubuntu 下 vim 搭建python 环境 配置
Jun 12 Python
python 中字典嵌套列表的方法
Jul 03 Python
Python3 单行多行万能正则匹配方法
Jan 07 Python
Django 日志配置按日期滚动的方法
Jan 31 Python
python3爬虫学习之数据存储txt的案例详解
Apr 24 Python
python实现抽奖小程序
Apr 15 Python
python实现扫雷小游戏
Apr 24 Python
Python 数据结构之十大经典排序算法一文通关
Oct 16 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
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
按上下级层次关系输出内容的PHP代码
2010/07/17 PHP
兼容firefox,chrome的网页灰度效果
2011/08/08 PHP
php遍历所有文件及文件夹的方法深入解析
2013/06/08 PHP
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
mysql_escape_string()函数用法分析
2016/04/25 PHP
Yii2框架数据验证操作实例详解
2018/05/02 PHP
tp5.1 框架查询表达式用法详解
2020/05/25 PHP
JavaScript进阶教程(第四课第一部分)
2007/04/05 Javascript
utf-8编码引起js输出中文乱码的解决办法
2010/06/23 Javascript
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
2016/09/14 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
2017/07/11 Javascript
Angular 容器部署的方法
2018/04/17 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
jQuery实时统计输入框字数及限制
2020/06/24 jQuery
vue组件讲解(is属性的用法)模板标签替换操作
2020/09/04 Javascript
js实现移动端图片滑块验证功能
2020/09/29 Javascript
Python sys.argv用法实例
2015/05/28 Python
21行Python代码实现拼写检查器
2016/01/25 Python
python socket通信编程实现文件上传代码实例
2019/12/14 Python
对Pytorch中Tensor的各种池化操作解析
2020/01/03 Python
windows10在visual studio2019下配置使用openCV4.3.0
2020/07/14 Python
python 如何利用argparse解析命令行参数
2020/09/11 Python
台湾生鲜宅配:大口市集
2017/10/14 全球购物
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
工程项目经理岗位职责
2013/12/15 职场文书
护理专业求职信
2014/06/15 职场文书
在职党员进社区活动总结
2014/07/05 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
党政领导班子群众路线对照检查材料
2014/10/26 职场文书
使用Html+Css实现简易导航栏功能(导航栏遇到鼠标切换背景颜色)
2021/04/07 HTML / CSS
Redis入门教程详解
2021/08/30 Redis