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 optparse模块使用实例
Apr 09 Python
Python内建数据结构详解
Feb 03 Python
tensorflow中next_batch的具体使用
Feb 02 Python
为什么入门大数据选择Python而不是Java?
Mar 07 Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
Oct 21 Python
Python3.4学习笔记之列表、数组操作示例
Mar 01 Python
如何在Django配置文件里配置session链接
Aug 06 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
Sep 16 Python
Python动态声明变量赋值代码实例
Dec 30 Python
python代码能做成软件吗
Jul 24 Python
matplotlib 画双轴子图无法显示x轴的解决方法
Jul 27 Python
Python实现LR1文法的完整实例代码
Oct 25 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
同时提取多条新闻中的文本一例
2006/10/09 PHP
用PHP实现的随机广告显示代码
2007/06/14 PHP
rrmdir php中递归删除目录及目录下的文件
2011/05/15 PHP
php常用Stream函数集介绍
2013/06/24 PHP
利用php获得flv视频长度的实例代码
2017/10/26 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
新鲜出炉的js tips提示效果
2011/04/03 Javascript
js实现Select头像选择实时预览代码
2015/08/17 Javascript
浅析Node.js 中 Stream API 的使用
2015/10/23 Javascript
JS实现可编辑的后台管理菜单功能【附demo源码下载】
2016/09/13 Javascript
canvas 弹幕效果(实例分享)
2017/01/11 Javascript
jquery.validate表单验证插件使用详解
2017/06/21 jQuery
基于JS脚本语言的基础语法详解
2017/07/22 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
Electron-vue脚手架改造vue项目的方法
2018/10/22 Javascript
[01:19:11]Ti4 循环赛第二日 NaVi.us vs iG
2014/07/11 DOTA
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
Python 中的Selenium异常处理实例代码
2018/05/03 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
2018/08/10 Python
Python的argparse库使用详解
2018/10/09 Python
python实现弹窗祝福效果
2019/04/07 Python
浅析pandas 数据结构中的DataFrame
2019/10/12 Python
python字典和json.dumps()的遇到的坑分析
2020/03/11 Python
python实现xml转json文件的示例代码
2020/12/30 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
Html5新标签解释及用法
2012/02/17 HTML / CSS
来自世界上最好大学的在线课程:edX
2018/10/16 全球购物
Farfetch巴西官网:奢侈品牌时尚购物平台
2020/10/19 全球购物
颇特女士香港官网:NET-A-PORTER香港
2021/03/08 全球购物
保洁主管岗位职责
2013/11/20 职场文书
自考生自我评价分享
2014/01/18 职场文书
护士求职自荐信范文
2014/03/19 职场文书
金秋助学感谢信
2015/01/21 职场文书
三种方式清除vue路由跳转router-link的历史记录
2022/04/10 Vue.js