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网络编程学习笔记(九):数据库客户端 DB-API
Jun 09 Python
Python对象体系深入分析
Oct 28 Python
Python设计模式之MVC模式简单示例
Jan 10 Python
用python脚本24小时刷浏览器的访问量方法
Dec 07 Python
在Python中表示一个对象的方法
Jun 25 Python
python简单鼠标自动点击某区域的实例
Jun 25 Python
python利用7z批量解压rar的实现
Aug 07 Python
Python小程序 控制鼠标循环点击代码实例
Oct 08 Python
Python Selenium截图功能实现代码
Apr 26 Python
python如何查看安装了的模块
Jun 23 Python
JupyterNotebook 输出窗口的显示效果调整实现
Sep 22 Python
解决import tensorflow导致jupyter内核死亡的问题
Feb 06 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
构建简单的Webmail系统
2006/10/09 PHP
PHP获取youku视频真实flv文件地址的方法
2014/12/23 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
解决laravel 5.1报错:No supported encrypter found的办法
2017/06/07 PHP
php生成短网址/短链接原理和用法实例分析
2020/05/29 PHP
js原生appendChild的bug解决心得分享
2013/07/01 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
2013/09/26 Javascript
jQuery的DOM操作之删除节点示例
2014/01/03 Javascript
jquery 操作css样式、位置、尺寸方法汇总
2014/11/28 Javascript
nodejs和php实现图片访问实时处理
2017/01/05 NodeJs
Angular.js基础学习之初始化
2017/03/10 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
JavaScript实现shuffle数组洗牌操作示例
2019/01/03 Javascript
php使用递归与迭代实现快速排序示例
2014/01/23 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
Python编程使用tkinter模块实现计算器软件完整代码示例
2017/11/29 Python
python中字符串变二维数组的实例讲解
2018/04/03 Python
Python实现统计给定字符串中重复模式最高子串功能示例
2018/05/16 Python
python指定写入文件时的编码格式方法
2018/06/07 Python
Django中使用第三方登录的示例代码
2018/08/20 Python
详解python读取和输出到txt
2019/03/29 Python
在vscode中配置python环境过程解析
2019/09/28 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
基于Python获取docx/doc文件内容代码解析
2020/02/17 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
Django自带的用户验证系统实现
2020/12/18 Python
俄罗斯的精英皮具:Wittchen
2018/01/29 全球购物
会计学生自我鉴定
2014/02/06 职场文书
消防工作实施方案
2014/06/09 职场文书
离婚协议书标准格式
2014/10/04 职场文书
大学生就业协议书范本(适用于公司企业)
2014/10/07 职场文书
学校食堂管理制度
2015/08/04 职场文书
2016大学军训心得体会
2016/01/11 职场文书
用python基于appium模块开发一个自动收取能量的小助手
2021/09/25 Python
关于JavaScript轮播图的实现
2021/11/20 Javascript