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读取ini文件、操作mysql、发送邮件实例
Jan 01 Python
win10系统中安装scrapy-1.1
Jul 03 Python
Python解析excel文件存入sqlite数据库的方法
Nov 15 Python
Python3实现简单可学习的手写体识别(实例讲解)
Oct 21 Python
python利用有道翻译实现"语言翻译器"的功能实例
Nov 14 Python
Python实现上下班抢个顺风单脚本
Feb 07 Python
Flask模拟实现CSRF攻击的方法
Jul 24 Python
python3.6使用pickle序列化class的方法
Oct 22 Python
Python3.7黑帽编程之病毒篇(基础篇)
Feb 04 Python
如何基于Python实现数字类型转换
Feb 07 Python
Mac中PyCharm配置Anaconda环境的方法
Mar 04 Python
基于tensorflow for循环 while循环案例
Jun 30 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怎样调用MSSQL的存储过程
2006/10/09 PHP
PHP执行linux系统命令的常用函数使用说明
2010/04/27 PHP
php调用dll的实例操作动画与代码分享
2012/08/14 PHP
php自动给文章加关键词链接的函数代码
2012/11/29 PHP
PHP获取网页所有连接的方法(附demo源码下载)
2016/03/30 PHP
php使用CutyCapt实现网页截图保存的方法
2016/10/03 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
2010/03/12 Javascript
jQuery学习笔记之DOM对象和jQuery对象
2010/12/22 Javascript
解决遍历时Array.indexOf产生的性能问题
2012/07/03 Javascript
可以用鼠标拖动的DIV实现思路及代码
2013/10/21 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2014/09/04 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
JS实现根据指定值删除数组中的元素操作示例
2018/08/02 Javascript
countUp.js实现数字滚动效果
2019/10/18 Javascript
vue实现评论列表功能
2019/10/25 Javascript
[00:12]2018DOTA2亚洲邀请赛 Somnus丶M出阵单挑
2018/04/06 DOTA
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
Python中利用sorted()函数排序的简单教程
2015/04/27 Python
python制作最美应用的爬虫
2015/10/28 Python
Python3.5运算符操作实例详解
2019/04/25 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
PyQt5 QDockWidget控件应用详解
2020/08/12 Python
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
后勤工作职责
2013/12/22 职场文书
打架检讨书400字
2014/01/17 职场文书
数控个人求职信范文
2014/02/03 职场文书
监察建议书格式
2014/05/19 职场文书
土建专业毕业生自荐书
2014/07/04 职场文书
某集团股份有限公司委托书样本
2014/09/24 职场文书
设备收款委托书范本
2014/10/02 职场文书
接待员岗位职责
2015/02/13 职场文书
总经理致辞
2015/07/29 职场文书
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android