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爬取国外天气预报网站的方法
Jul 10 Python
Python字符串切片操作知识详解
Mar 28 Python
Python实现发送与接收邮件的方法详解
Mar 28 Python
对Pandas MultiIndex(多重索引)详解
Nov 16 Python
Python3内置模块之json编解码方法小结【推荐】
Dec 09 Python
Django Python 获取请求头信息Content-Range的方法
Aug 06 Python
使用anaconda安装pytorch的实现步骤
Sep 03 Python
如何使用python自带IDLE的几种方法
Oct 10 Python
通过代码简单了解django model序列化作用
Nov 12 Python
python实现网络五子棋
Apr 11 Python
Django + Taro 前后端分离项目实现企业微信登录功能
Apr 07 Python
使用opencv-python如何打开USB或者笔记本前置摄像头
Jun 21 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文件操作的详细诠释
2013/06/21 PHP
解析php addslashes()与addclashes()函数的区别和比较
2013/06/24 PHP
CI框架常用方法小结
2016/05/17 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
js FLASH幻灯片字符串中有连接符&的处理方法
2012/03/01 Javascript
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
2012/06/22 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
2016/11/20 Javascript
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
2017/04/28 jQuery
jQuery实现可兼容IE6的滚动监听功能
2017/09/20 jQuery
Vue 2.5 Level E 发布了: 新功能特性一览
2017/10/24 Javascript
javascript+html5+css3自定义弹出窗口效果
2017/10/26 Javascript
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
element-ui使用导航栏跳转路由的用法详解
2018/08/22 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
javascript实现图片轮播代码
2019/07/09 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
JavaScript实现串行请求的示例代码
2020/09/14 Javascript
Ant Design moment对象和字符串之间的相互转化教程
2020/10/27 Javascript
优化Python代码使其加快作用域内的查找
2015/03/30 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
Python在Matplotlib图中显示中文字体的操作方法
2019/07/29 Python
解决python 读取excel时 日期变成数字并加.0的问题
2019/10/08 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
探索HTML5本地存储功能运用技巧
2016/03/02 HTML / CSS
华硕新加坡官方网上商店:ASUS Singapore
2020/07/09 全球购物
如何利用find命令查找文件
2015/02/07 面试题
思想政治自我鉴定
2013/10/06 职场文书
企业管理部经理岗位职责
2013/12/24 职场文书
2015年乡镇纪检工作总结
2015/04/22 职场文书
技能培训通讯稿
2015/07/18 职场文书
护士旷工检讨书
2015/08/15 职场文书
golang 实现菜单树的生成方式
2021/04/28 Golang