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线程的两种编程方式
Apr 14 Python
在Python的Bottle框架中使用微信API的示例
Apr 23 Python
Python中利用原始套接字进行网络编程的示例
May 04 Python
速记Python布尔值
Nov 09 Python
对python添加模块路径的三种方法总结
Oct 16 Python
Python3之手动创建迭代器的实例代码
May 22 Python
python网络应用开发知识点浅析
May 28 Python
PyQt5下拉式复选框QComboCheckBox的实例
Jun 25 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
Jul 06 Python
Django自定义用户表+自定义admin后台中的字段实例
Nov 18 Python
Python 去除字符串中指定字符串
Mar 05 Python
python 解决Fatal error in launcher:错误问题
May 21 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
重置版宣传动画
2020/04/09 魔兽争霸
PHP 开发工具
2006/12/06 PHP
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
2013/07/01 PHP
理解PHP中的stdClass类
2014/04/18 PHP
smarty模板引擎中自定义函数的方法
2015/01/22 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
PHP7正式版测试,性能惊艳!
2015/12/08 PHP
javascript 特殊字符串
2009/02/25 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
2014/04/12 Javascript
JS实现用户注册时获取短信验证码和倒计时功能
2016/10/27 Javascript
jQuery实现百度登录框的动态切换效果
2017/04/21 jQuery
jQuery 防止相同的事件快速重复触发方法
2018/02/08 jQuery
Vue 中使用 CSS Modules优雅方法
2018/04/09 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
浅谈React中组件逻辑复用的那些事儿
2020/05/21 Javascript
nuxt 实现在其它js文件中使用store的方式
2020/11/05 Javascript
[01:02:55]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
python的else子句使用指南
2016/02/27 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
python opencv将图片转为灰度图的方法示例
2019/07/31 Python
python实现本地批量ping多个IP的方法示例
2019/08/07 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
如何使用 Python 读取文件和照片的创建日期
2020/09/05 Python
HTML5新增加的功能详解
2016/09/05 HTML / CSS
皮姆斯勒语言学习:Pimsleur Language Programs
2018/06/30 全球购物
全球领先的中国制造商品在线批发平台:DHgate
2020/01/28 全球购物
英文求职信结束语大全
2013/10/26 职场文书
新闻专业应届生求职信
2013/10/31 职场文书
爱耳日活动总结
2014/04/30 职场文书
导游词之南京中山陵
2019/11/27 职场文书
一次Mysql update sql不当引起的生产故障记录
2022/04/01 MySQL
Java实现扫雷游戏详细代码讲解
2022/05/25 Java/Android
volatile保证可见性及重排序方法
2022/08/05 Java/Android