Python range、enumerate和zip函数用法详解


Posted in Python onSeptember 11, 2019

前言

range函数可创建一个整数列表。

如果需要知道当前元素在列表中的索引,推荐用enumerate代替range。

zip函数用于同时遍历多个迭代器。

一、range 函数

range函数可创建一个整数列表,一般用在 for 循环中。

语法:

range([start,] stop[, step])

参数:

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0,5);

stop: 计数到 stop 结束,但不包括 stop。例如:range(0,5) 是[0,1,2,3,4]没有5

step:步长,默认为1。例如:range(0,5) 等价于 range(0,5,1)
使用例子:

for i in range(5):
  print(i, end=' ') #输出:0 1 2 3 4 
print()
for i in range(1,5):
  print(i, end=' ') #输出:1 2 3 4 
print()
for i in range(0,5,2):
  print(i, end=' ') #输出:0 2 4 
print()
for i in range(0,-5,-1):
  print(i, end=' ') #输出:0 -1 -2 -3 -4
print()
fruit_list = ['apple', 'banana','pear']
for i in range(len(fruit_list)):
  print(i, fruit_list[i]) 
'''输出:
apple
banana
pear
'''

二、enumerate函数

enumerate函数用于将各种迭代器(如列表、元组或字符串)包装为生成器,生成器每次产生一对输出值,前者表示循环下标,后者表示从迭

代器中获取到的下一个序列元素。一般用在 for 循环当中。

需要知道当前元素在列表中的索引,推荐用enumerate代替range,代码便于简洁和易理解。

语法:

enumerate(sequence, [start=0])

参数:

sequence: 一个序列、迭代器或其他支持迭代对象。

start:下标起始位置。

使用例子:

fruit_list = ['apple', 'banana','pear']
for i,fruit in enumerate(fruit_list):
  print(i, fruit) 
'''输出:
apple
banana
pear
'''
for i,fruit in enumerate(fruit_list, 1):
  print(i, fruit) 
'''输出:
apple
banana
pear
'''

三、zip函数

zip函数可以把两个或两个以上的迭代器封装为生成器,以便稍后求值。

生成器会从每个迭代器中获取下一个值,然后把这些值汇聚成元组。

语法:

zip([iterable, ...])

参数:

iterabl:一个或多个迭代器

使用例子:

index_list = [0, 1, 2, 3, 4]
fruit_list = ['apple', 'banana','pear']
for index,fruit in zip(index_list,fruit_list):
  print(index,fruit)
'''输出:
apple
banana
pear
'''
d = dict(zip(index_list,fruit_list))
print(d)
'''转换为字典,输出:
{0: 'apple', 1: 'banana', 2: 'pear'}
'''

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
MySQLdb ImportError: libmysqlclient.so.18解决方法
Aug 21 Python
进一步探究Python中的正则表达式
Apr 28 Python
windows下python连接oracle数据库
Jun 07 Python
python实现读取excel写入mysql的小工具详解
Nov 20 Python
python生成ppt的方法
Jun 07 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
Jun 17 Python
如何使用Python标准库进行性能测试
Jun 25 Python
pytorch 实现cross entropy损失函数计算方式
Jan 02 Python
PyInstaller运行原理及常用操作详解
Jun 13 Python
Python grpc超时机制代码示例
Sep 14 Python
python代码实现图书管理系统
Nov 30 Python
完美解决Pycharm中matplotlib画图中文乱码问题
Jan 11 Python
Python 实现文件读写、坐标寻址、查找替换功能
Sep 11 #Python
Python使用APScheduler实现定时任务过程解析
Sep 11 #Python
基于Python实现剪切板实时监控方法解析
Sep 11 #Python
python连接、操作mongodb数据库的方法实例详解
Sep 11 #Python
面向对象学习之pygame坦克大战
Sep 11 #Python
Python整数与Numpy数据溢出问题解决
Sep 11 #Python
python中通过selenium简单操作及元素定位知识点总结
Sep 10 #Python
You might like
什么情况下可以不写PHP的闭合标签“?>”
2014/08/28 PHP
推荐5款跨平台的PHP编辑器
2014/12/25 PHP
php结合安卓客户端实现查询交互实例
2015/05/05 PHP
php随机显示指定文件夹下图片的方法
2015/07/13 PHP
CI框架常用函数封装实例
2016/11/21 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
PHP实现会员账号单唯一登录的方法分析
2019/03/07 PHP
js继承 Base类的源码解析
2008/12/30 Javascript
jquery统计输入文字的个数并对其进行判断
2014/01/07 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
2014/03/12 Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
2014/03/21 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
2014/07/01 Javascript
jQuery实现监控页面所有ajax请求的方法
2015/12/10 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
Angular.Js之Scope作用域的学习教程
2017/04/27 Javascript
详解在AngularJS的controller外部直接获取$scope
2017/06/02 Javascript
详解vscode中vue代码颜色插件
2018/10/11 Javascript
js 图片懒加载的实现
2020/10/21 Javascript
python中使用urllib2伪造HTTP报头的2个方法
2014/07/07 Python
Python中的字符串类型基本知识学习教程
2016/02/04 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
Internet主要有哪些网络群组成
2015/12/24 面试题
教师绩效考核方案
2014/01/21 职场文书
业务员简历自我评价
2014/03/06 职场文书
绩效考核实施方案
2014/03/18 职场文书
宣传部部长竞选演讲稿
2014/04/26 职场文书
群众路线个人整改措施
2014/10/24 职场文书
2015年档案室工作总结
2015/05/23 职场文书
学校食堂管理制度
2015/08/04 职场文书
年终工作总结范文
2019/06/20 职场文书
Nginx解决前端访问资源跨域问题的方法详解
2021/03/31 Servers