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下利用OpenCV来旋转图像的教程
Apr 16 Python
python排序方法实例分析
Apr 30 Python
python简单实现获取当前时间
Aug 27 Python
Python学习之Anaconda的使用与配置方法
Jan 04 Python
django ajax json的实例代码
May 29 Python
对python插入数据库和生成插入sql的示例讲解
Nov 14 Python
Python使用字典的嵌套功能详解
Feb 27 Python
Python Flask框架扩展操作示例
May 03 Python
Python图像处理库PIL的ImageFont模块使用介绍
Feb 26 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
Mar 18 Python
python批量生成条形码的示例
Oct 10 Python
pycharm实现猜数游戏
Dec 07 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 flock 文件锁详细介绍
2012/12/29 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
PHP基于cookie实现统计在线人数功能示例
2019/01/16 PHP
PHP实现的pdo连接数据库并插入数据功能简单示例
2019/03/30 PHP
node.js实现BigPipe详解
2014/12/05 Javascript
JavaScript中的方法调用详细介绍
2014/12/30 Javascript
深入理解jQuery中的事件冒泡
2016/05/24 Javascript
JQuery控制图片由中心点逐渐放大效果
2016/06/26 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
2016/10/15 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
2017/02/05 Javascript
React学习之事件绑定的几种方法对比
2017/09/24 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
2020/03/12 Javascript
解决vue-router路由拦截造成死循环问题
2020/08/05 Javascript
[03:27]最受玩家喜爱奖提名:PZH_Element 致玩家寄语
2016/12/20 DOTA
教你安装python Django(图文)
2013/11/04 Python
python3实现抓取网页资源的 N 种方法
2017/05/02 Python
Python开发的HTTP库requests详解
2017/08/29 Python
Python语言实现百度语音识别API的使用实例
2017/12/13 Python
python实现批量按比例缩放图片效果
2018/03/30 Python
Python使用import导入本地脚本及导入模块的技巧总结
2019/08/07 Python
基于Pyinstaller打包Python程序并压缩文件大小
2020/05/28 Python
Matplotlib中%matplotlib inline如何使用
2020/07/28 Python
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
世界顶级俱乐部的官方球衣和套装:Subside Sports
2018/04/22 全球购物
美赞臣营养马来西亚旗舰店:Enfagrow马来西亚
2019/07/26 全球购物
运动会入场词200字
2014/02/15 职场文书
理工类毕业自我鉴定
2014/02/20 职场文书
高中教师考核方案
2014/05/18 职场文书
高三霸气励志标语
2014/06/24 职场文书
关于法制教育的宣传语
2015/07/13 职场文书
高二数学教学反思
2016/02/18 职场文书
婚前协议书怎么写,才具有法律效力呢 ?
2019/06/28 职场文书
JavaScript 实现页面滚动动画
2021/04/24 Javascript
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python
MySQL的安装与配置详细教程
2021/06/26 MySQL