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 31 Python
10种检测Python程序运行时间、CPU和内存占用的方法
Apr 01 Python
Python中的条件判断语句与循环语句用法小结
Mar 21 Python
疯狂上涨的Python 开发者应从2.x还是3.x着手?
Nov 16 Python
Python中format()格式输出全解
Apr 12 Python
Pandas库之DataFrame使用的学习笔记
Jun 21 Python
Python Selenium 之数据驱动测试的实现
Aug 01 Python
Django之使用内置函数和celery发邮件的方法示例
Sep 16 Python
Django 解决阿里云部署同步数据库报错的问题
May 14 Python
keras 获取某层的输入/输出 tensor 尺寸操作
Jun 10 Python
python爬虫看看虎牙女主播中谁最“顶”步骤详解
Dec 01 Python
python基础详解之if循环语句
Apr 24 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中截取字符串支持utf-8
2007/01/18 PHP
PHP file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
php获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
浅谈PHP中output_buffering
2015/07/13 PHP
仿微博字符限制效果实现代码
2012/04/20 Javascript
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
javascript实现类似超链接的效果
2014/12/26 Javascript
jQuery实现图片与文字描述左右滑动自动切换的方法
2015/07/27 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
AngularJS数据源的多种获取方式汇总
2016/02/02 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
2016/12/05 Javascript
详解Vue使用 vue-cli 搭建项目
2017/04/20 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
2018/02/28 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
基于原生js实现九宫格算法代码实例
2020/07/03 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
python去掉空白行的多种实现代码
2018/03/19 Python
python之cv2与图像的载入、显示和保存实例
2018/12/05 Python
Python语言快速上手学习方法
2018/12/14 Python
Python制作动态字符图的实例
2019/01/27 Python
基于Python的PIL库学习详解
2019/05/10 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
HTML5 自动聚焦(autofocus)属性使用介绍
2013/08/07 HTML / CSS
学前班教师的自我鉴定
2013/12/05 职场文书
大学生自我鉴定
2013/12/08 职场文书
社团活动总结范文
2014/04/26 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
计生办班子群众路线教育实践活动个人对照检查材料思想汇报
2014/10/04 职场文书
写给领导的感谢信
2015/01/22 职场文书
机关干部纪律作风整顿心得体会
2016/01/23 职场文书
win10安装配置nginx的过程
2021/03/31 Servers
Python实现学生管理系统(面向对象版)
2021/06/24 Python
Elasticsearch 聚合查询和排序
2022/04/19 Python