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 相关文章推荐
python创建只读属性对象的方法(ReadOnlyObject)
Feb 10 Python
Python更新数据库脚本两种方法及对比介绍
Jul 27 Python
python斐波那契数列的计算方法
Sep 27 Python
利用Python正则表达式过滤敏感词的方法
Jan 21 Python
在SQLite-Python中实现返回、查询中文字段的方法
Jul 17 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
Sep 20 Python
Python爬虫实现模拟点击动态页面
Mar 05 Python
使用Python爬取弹出窗口信息的实例
Mar 14 Python
解决在keras中使用model.save()函数保存模型失败的问题
May 21 Python
python不到50行代码完成了多张excel合并的实现示例
May 28 Python
pycharm激活方法到2099年(激活流程)
Sep 22 Python
python des,aes,rsa加解密的实现
Jan 16 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中的array_filter()函数去掉多维空值的代码分享
2012/09/07 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
thinkPHP框架自动填充原理与用法分析
2018/04/03 PHP
js自带函数备忘 数组
2006/12/29 Javascript
List the Stored Procedures in a SQL Server database
2007/06/20 Javascript
node.js中的fs.mkdir方法使用说明
2014/12/17 Javascript
使用纯javascript实现放大镜效果
2015/03/18 Javascript
深入浅析AngularJS和DataModel
2016/02/16 Javascript
Javascript基础教程之比较null和undefined值
2016/05/16 Javascript
批量下载对路网图片并生成html的实现方法
2016/06/07 Javascript
Bootstrap实现水平排列的表单
2016/07/04 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
2016/08/25 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
2016/12/13 Javascript
nodejs个人博客开发第六步 数据分页
2017/04/12 NodeJs
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
2017/05/26 Javascript
vue一步步实现alert功能
2017/07/05 Javascript
微信小程序自动客服功能
2017/11/02 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
2018/12/28 Javascript
详解用Webpack与Babel配置ES6开发环境
2019/03/12 Javascript
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
2019/05/31 Javascript
Vue程序调试的方法
2019/06/17 Javascript
Webpack的Loader和Plugin的区别
2020/11/09 Javascript
Python 调用VC++的动态链接库(DLL)
2008/09/06 Python
详解Python命令行解析工具Argparse
2016/04/20 Python
使用Python刷淘宝喵币(低阶入门版)
2019/10/30 Python
Python 实现将数组/矩阵转换成Image类
2020/01/09 Python
见习期自我鉴定范文
2014/03/19 职场文书
求职信模板
2014/05/23 职场文书
文明班集体申报材料
2014/05/23 职场文书
施工安全汇报材料
2014/08/17 职场文书
红十字会救护培训简讯
2015/07/20 职场文书
趣味运动会广播稿
2015/08/19 职场文书
56句经典英文座右铭
2019/08/09 职场文书
nginx配置ssl实现https的方法示例
2021/03/31 Servers