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 文件重命名工具代码
Jul 26 Python
基于python时间处理方法(详解)
Aug 14 Python
基于python中staticmethod和classmethod的区别(详解)
Oct 24 Python
python tensorflow基于cnn实现手写数字识别
Jan 01 Python
django+echart绘制曲线图的方法示例
Nov 26 Python
利用Pycharm断点调试Python程序的方法
Nov 29 Python
使用Python进行体育竞技分析(预测球队成绩)
May 16 Python
Python绘制堆叠柱状图的实例
Jul 09 Python
Django在pycharm下修改默认启动端口的方法
Jul 26 Python
如何利用Python识别图片中的文字
May 31 Python
Autopep8的使用(python自动编排工具)
Mar 02 Python
Python爬虫之自动爬取某车之家各车销售数据
Jun 02 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
在PWS上安装PHP4.0正式版
2006/10/09 PHP
PHP读取RSS(Feed)简单实例
2014/06/12 PHP
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
Javascript 两个窗体之间传值实现代码
2009/09/25 Javascript
javascript面向对象包装类Class封装类库剖析
2013/01/24 Javascript
让input框实现类似百度的搜索提示(基于jquery事件监听)
2014/01/31 Javascript
js实现div模拟模态对话框展现URL内容
2016/05/27 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
微信小程序利用for循环解决内容变更问题
2020/03/05 Javascript
JS实现网页烟花动画效果
2020/03/10 Javascript
vant中的toast轻提示实现代码
2020/11/04 Javascript
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
python用装饰器自动注册Tornado路由详解
2017/02/14 Python
Python正则表达式匹配日期与时间的方法
2019/07/07 Python
python 执行终端/控制台命令的例子
2019/07/12 Python
Python二维码生成识别实例详解
2019/07/16 Python
PyQt5实现画布小程序
2020/05/30 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
2020/08/11 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
2020/09/04 Python
安装python依赖包psycopg2来调用postgresql的操作
2021/01/01 Python
德购商城:德国进口直邮商城
2017/06/13 全球购物
Tahari ASL官方网站:高级设计师女装
2021/03/15 全球购物
火山动力Java笔试题
2014/06/26 面试题
英文自荐信
2013/12/15 职场文书
继电保护工岗位职责
2014/01/05 职场文书
家教广告词
2014/03/19 职场文书
学生社团文化节开幕式主持词
2014/03/28 职场文书
中介业务员岗位职责
2014/04/09 职场文书
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2014年电工工作总结
2014/11/20 职场文书
婚礼领导致辞大全
2015/07/28 职场文书
MySQL 语句执行顺序举例解析
2022/06/05 MySQL