python中enumerate() 与zip()函数的使用比较实例分析


Posted in Python onSeptember 03, 2019

本文实例讲述了python中enumerate() 与zip()函数的使用比较。分享给大家供大家参考,具体如下:

enumerate() 与zip()是两个常用的内置函数,这两个函数功能类似,同时又存在差异。介绍如下:

一、enumerate() 函数

该函数中文解释:枚举、列举的意思。

用于将一个可遍历的数据对象(如:列表、元组、字符串等)组合为一个索引序列,同时列出:数据和数据下标

一般在for循坏中使用,可同时得到数据对象的值及对应的索引值

a = ['one','two','three','four','five']
for a_index, a_value in enumerate(a):
  print('{}:{}'.format(a_index,a_value))

运行结果为:

0:one
1:two
2:three
3:four
4:five

注意:在enumerate()函数中,也可以给第2个参数“start”的值,指定当前索引的****初始值,如下例所示:

b = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
for b_index, b_value in enumerate(b,start=1):
  print('星期{}:{}'.format(b_index,b_value))

运行结果为:

星期1:Monday
星期2:Tuesday
星期3:Wednesday
星期4:Thursday
星期5:Friday
星期6:Saturday
星期7:Sunday

二、zip()函数

该函数用于将多个可迭代对象作为参数,依次将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象。

如对于下面的例子:

names = ['张三','李四','王五']
sexs = ['boy','girl','boy']
scores = [86, 92, 75]
for name, sex, score in zip(names,sexs,scores):
  print('{}: {}, {}'.format(name, sex, score))

运行结果为:

张三: boy, 86
李四: girl, 92
王五: boy, 75

注意:如果各个可迭代对象的元素个数不一致,则返回的对象长度与最短的可迭代对象相同。例如,对上面的例子,列表scores减少一个元素,修改如下:

names = ['张三','李四','王五']
sexs = ['boy','girl','boy']
scores = [86, 92]
for name, sex, score in zip(names,sexs,scores):
  print('{}: {}, {}'.format(name, sex, score))

运行结果为:

张三: boy, 86
李四: girl, 92

关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python输出汉字字库及将文字转换为图片的方法
Jun 04 Python
python flask实现分页效果
Jun 27 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
Oct 11 Python
Python3多线程基础知识点
Feb 19 Python
python 整数越界问题详解
Jun 27 Python
python安装gdal的两种方法
Oct 29 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
Nov 04 Python
Python imutils 填充图片周边为黑色的实现
Jan 19 Python
Jupyter notebook无法导入第三方模块的解决方式
Apr 15 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
May 18 Python
python实现文件+参数发送request的实例代码
Jan 05 Python
Python进程间的通信之语法学习
Apr 11 Python
python网络编程之多线程同时接受和发送
Sep 03 #Python
springboot配置文件抽离 git管理统 配置中心详解
Sep 02 #Python
python生成随机红包的实例写法
Sep 02 #Python
Django发送邮件功能实例详解
Sep 02 #Python
python读取Excel表格文件的方法
Sep 02 #Python
python将字典列表导出为Excel文件的方法
Sep 02 #Python
python数据处理之如何选取csv文件中某几行的数据
Sep 02 #Python
You might like
CI框架在CLI下执行占用内存过大问题的解决方法
2014/06/17 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
PHP中单例模式的使用场景与使用方法讲解
2019/03/18 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
点图片上一页下一页翻页效果
2008/07/09 Javascript
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
2009/04/01 Javascript
CCPry JS类库 代码
2009/10/30 Javascript
jquery随机展示头像代码
2011/12/21 Javascript
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
iframe中使用jquery进行查找的方法【案例分析】
2016/06/17 Javascript
AngularJS 打开新的标签页实现代码
2017/09/07 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
分享JS表单验证源码(带错误提示及密码等级)
2020/01/05 Javascript
JavaScript函数柯里化实现原理及过程
2020/12/02 Javascript
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
[40:05]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
使用python绘制3维正态分布图的方法
2018/12/29 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
2019/02/20 Python
使用Python做垃圾分类的原理及实例代码附源码
2019/07/02 Python
Python字符串中添加、插入特定字符的方法
2019/09/10 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
python pandas利用fillna方法实现部分自动填充功能
2020/03/16 Python
Python openpyxl 插入折线图实例
2020/04/17 Python
python的链表基础知识点
2020/09/13 Python
Python通过format函数格式化显示值
2020/10/17 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
质检员岗位职责
2013/12/17 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
群众路线教育党员自我剖析材料
2014/10/06 职场文书
关爱留守儿童捐款倡议书
2015/04/27 职场文书
人民的好儿女观后感
2015/06/18 职场文书
员工手册董事长致辞
2015/07/29 职场文书
如何用PHP实现多线程编程
2021/05/26 PHP