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文件和目录操作方法大全(含实例)
Mar 12 Python
Python set集合类型操作总结
Nov 07 Python
Python isinstance函数介绍
Apr 14 Python
详解Python中time()方法的使用的教程
May 22 Python
python 提取key 为中文的json 串方法
Dec 31 Python
Python中typing模块与类型注解的使用方法
Aug 05 Python
如何基于python3和Vue实现AES数据加密
Mar 27 Python
Python多分支if语句的使用
Sep 03 Python
python用Tkinter做自己的中文代码编辑器
Sep 07 Python
matplotlib教程——强大的python作图工具库
Oct 15 Python
Python基于Serializer实现字段验证及序列化
Nov 04 Python
基于PyInstaller各参数的含义说明
Mar 04 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
《一拳超人》埼玉一拳下去,他们存在了800年毫无意义!
2020/03/02 日漫
oracle资料库函式库
2006/10/09 PHP
比较全面的PHP数组的使用方法小结
2010/09/23 PHP
php权重计算方法代码分享
2014/01/09 PHP
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
php 时间time与日期date之间的使用详解及区别
2016/11/07 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
2018/04/12 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
PHP实现会员账号单唯一登录的方法分析
2019/03/07 PHP
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
判断文档离浏览器顶部的距离的方法
2014/01/08 Javascript
jQuery中DOM操作实例分析
2015/01/23 Javascript
javascript实现省市区三级联动下拉框菜单
2015/11/17 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
2016/06/12 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
微信小程序以ssm做后台开发的实现示例
2020/04/08 Javascript
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
Python程序设计入门(3)数组的使用
2014/06/16 Python
python生成随机密码或随机字符串的方法
2015/07/03 Python
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
Python numpy 常用函数总结
2017/12/07 Python
用python处理MS Word的实例讲解
2018/05/08 Python
对python中基于tcp协议的通信(数据传输)实例讲解
2019/07/22 Python
python实现windows倒计时锁屏功能
2019/07/30 Python
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
荷兰照明、灯具和配件网上商店:dmlights
2019/08/25 全球购物
Brother加拿大官网:打印机、贴标机、缝纫机
2019/10/09 全球购物
期末个人总结范文
2015/02/13 职场文书
出纳试用期自我评价
2015/03/10 职场文书
面试复试通知单
2015/04/24 职场文书
工程质量保证书
2015/05/09 职场文书
“鬼灭之刃”热度不减,其成功背后的原因是什么?
2022/03/22 日漫
台式电脑蓝牙适配器怎么安装?台式电脑蓝牙适配器安装教程
2022/04/08 数码科技
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL