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 相关文章推荐
django+js+ajax实现刷新页面的方法
May 22 Python
解决python使用open打开文件中文乱码的问题
Dec 29 Python
Python selenium实现微博自动登录的示例代码
May 16 Python
pandas Dataframe行列读取的实例
Jun 08 Python
Python中函数参数调用方式分析
Aug 09 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
Oct 11 Python
对python中的 os.mkdir和os.mkdirs详解
Oct 16 Python
python 获取微信好友列表的方法(微信web)
Feb 21 Python
Python中使用logging和traceback模块记录日志和跟踪异常
Apr 09 Python
pandas通过字典生成dataframe的方法步骤
Jul 23 Python
python随机生成大小写字母数字混合密码(仅20行代码)
Feb 01 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
Nov 28 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
php更改目录及子目录下所有的文件后缀扩展名的代码
2010/10/12 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
2014/09/22 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
Session 失效的原因汇总及解决丢失办法
2015/09/30 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
PHP lcfirst()函数定义与用法
2019/03/08 PHP
JavaScript 异步调用框架 (Part 6 - 实例 & 模式)
2009/08/04 Javascript
JavaScript Event学习第九章 鼠标事件
2010/02/08 Javascript
avalonjs制作响应式瀑布流特效
2015/05/06 Javascript
js实现字符串转日期格式的方法
2015/05/20 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
bootstrap中使用google prettify让代码高亮的方法
2016/10/21 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
微信小程序选择图片和放大预览图片功能
2017/11/02 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
服务端预渲染之Nuxt(使用篇)
2019/04/08 Javascript
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
Vue项目实现换肤功能的一种方案分析
2019/08/28 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
Vue中避免滥用this去读取data中数据
2021/03/02 Vue.js
Python使用pandas处理CSV文件的实例讲解
2018/06/22 Python
pandas修改DataFrame列名的实现方法
2019/02/22 Python
pyenv虚拟环境管理python多版本和软件库的方法
2019/12/26 Python
CentOS7下安装python3.6.8的教程详解
2020/01/03 Python
通过python检测字符串的字母
2020/02/18 Python
python程序输出无内容的解决方式
2020/04/09 Python
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
学生就业推荐信
2013/11/13 职场文书
元旦联欢会感言
2014/03/04 职场文书
甲乙双方合作协议书
2014/10/13 职场文书
离婚协议书范文2014(夫妻感情破裂)
2014/12/14 职场文书
公司备用金管理制度
2015/08/04 职场文书
导游词之凤凰古城
2019/10/22 职场文书