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编写网页爬虫脚本并实现APScheduler调度
Jul 28 Python
Python魔术方法详解
Feb 14 Python
Python3.6.0+opencv3.3.0人脸检测示例
May 25 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
Jan 15 Python
用python实现英文字母和相应序数转换的方法
Sep 18 Python
python生成器推导式用法简单示例
Oct 08 Python
Python线程指南分享
Nov 19 Python
Python 实现Serial 与STM32J进行串口通讯
Dec 18 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
Dec 26 Python
Python3如何判断三角形的类型
Apr 12 Python
如何在Windows中安装多个python解释器
Jun 16 Python
MATLAB数学建模之画图汇总
Jul 16 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/18 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
PHP aes (ecb)解密后乱码问题
2015/06/22 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
php表单处理操作
2017/11/16 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
2011/07/04 Javascript
jquery使用jquery.zclip插件复制对象的实例教程
2013/12/04 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
2016/10/15 Javascript
使用UrlConnection实现后台模拟http请求的简单实例
2017/01/04 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
js模拟微博发布消息
2017/02/23 Javascript
JavaScript之underscore_动力节点Java学院整理
2017/07/03 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
JavaScript命令模式原理与用法实例详解
2020/03/10 Javascript
详解Vue数据驱动原理
2020/11/17 Javascript
[01:18:33]Secret vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
在mac下查找python包存放路径site-packages的实现方法
2018/11/06 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
Pytorch卷积层手动初始化权值的实例
2019/08/17 Python
Python 合并多个TXT文件并统计词频的实现
2019/08/23 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
html5 canvas绘制放射性渐变色效果
2018/01/04 HTML / CSS
如何用H5实现一个触屏版的轮播器的实例
2017/01/09 HTML / CSS
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
外贸采购员岗位职责
2014/03/08 职场文书
内蒙古鄂尔多斯市市长寄语
2014/04/10 职场文书
群众路线教育实践活动民主生活会个人检查对照思想汇报
2014/10/04 职场文书
2015教师年度思想工作总结
2015/04/30 职场文书
企业文化学习心得体会
2016/01/21 职场文书