Python range、enumerate和zip函数用法详解
作者:gdjlc 发布时间:2021-06-29 22:24:06
标签:python,range,enumerate,zip,函数
前言
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'}
'''
来源:https://www.cnblogs.com/gdjlc/p/11503564.html


猜你喜欢
- provide / inject 是 2.2 新增的方法,可以以一个祖先组件向所有子孙后代注入依赖(一个内容)。provider/injec
- 最近在做cocos2d-x的简明配置,发现有的朋友的文本编辑器,自动将\r\n截断成\n,(在unix上换行使用\n,windows上,换行
- 如何使用Office Chart 9.0 制作图表?代码如下:chart90.asp<HTML><HEAD><
- 记一次从web到内网的渗透拓扑图环境介绍现在有三台机器,分别为target1,target2,target3,里面分别有三个flag,每个f
- php redis断线重连,pconnect连接失败问题介绍在swoole ,workerman等cli长连接模式下,遇到Redis异常断开
- 回文利用python 自带的翻转 函数 reversed()def is_plalindrome(string): return
- 一、什么是幻读在一次事务里面,多次查询之后,结果集的个数不一致的情况叫做幻读。而多出来或者少的哪一行被叫做 幻行二、为什么要解决幻读在高并发
- 方法一:queue = forms.ModelChoiceField(label=u'队列',queryset=Queue.
- 1 squeeze(): 去除size为1的维度,包括行和列。至于维度大于等于2时,squeeze()不起作用。行、例:>>&g
- 其实这个话题已经在侧面写了好几篇深刻反思,用我自己几年工作实践的体会来看,性格决定了将来的发展。某些特质虽然可以掩饰,但在这之上必然不可能有
- Python对不可变序列进行重复拼接操作效率会很低,因为每次都会生成一个新的对象,解释器需要把原来对象中的元素先复制到新的对象里,然后再追加
- 如下所示:import pymysqlimport timeimport redef get_raw_label(rece): re1 =
- 黑体是视觉设计师常用的一款字体,特别是针对广告的 Banner 等。根据 * 的相关介绍,有关黑体的定义可以认为:黑體与白体
- 训练完目标检测模型之后,需要评价其性能,在不同的阈值下的准确度是多少,有没有漏检,在这里基于IoU(Intersection over Un
- folium是python的一个用来绘制地图,并在地图上打点,画圈,做颜色标记的工具类。简单易学,和pandas可以很好的融合,是居家必备良
- 本文实例讲述了Python wxPython库Core组件BoxSizer用法。分享给大家供大家参考,具体如下:wx.BoxSizer:bo
- 本文实例为大家分享了Python飞机大战项目,供大家参考,具体内容如下import gcimport randomimport pygame
- 1、如果同时从同一个客户端插入很多行,使用含多个 VALUE的INSERT语句同时插入几行。这比使用单行INSERT语句快(在某些情况下快几
- 前言K-Means 聚类算法的目标是将 n 个样本划分(聚类)为 K 个簇,在博文《OpenCV与机器学习的碰撞》中,我们已经学习利用 Op
- DataLoaderDataset不能满足需求需自定义继承torch.utils.data.Dataset时需要override __ini