Python3enumrate和range对比及示例详解

yipeiwu_com6年前Python基础

前言

在Python中,enumrate和range都常用于for循环中,enumrate函数用于同时循环列表和元素,而range()函数可以生成数值范围变化的列表,而能够用于for循环即都是可迭代的。

range概述

range是用于产生连续或者带步长的数字元素组成的列表,下面是一些基本使用及场景示例。

产生数字序列

# 产生0-9的序列
for i in range(0, 10):
 print(i)
print('-' * 40)
# 产生0-20,步进(间隔)为3的数字元素组成的序列 
for j in range(0, 21, 3):
 print(j)

示例结果:

0
1
2
3
4
5
6
7
8
9
----------------------------------------
0
3
6
9
12
15
18

利用range遍历修改列表

range最多的使用场景就是修改循环修改列表,即利用range构建列表的索引循环修改列表。

L = [1,2,3,4,5]
for i in range(len(L)):
 L[i] = L[i] ** 2
 print(L[i])

示例结果:

1
4
9
16
25

enumrate概述

当我们即想获取序列的索引和序列元素呢? 我们可以利用enumrate同时迭代序列的索引和元素。

L = [1,2,3,4,5]
for i, value in enumerate(L):
 print(i, '-->',value)
0 --> 1
1 --> 2
2 --> 3
3 --> 4
4 --> 5

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

实例讲解Python中SocketServer模块处理网络请求的用法

SocketServer创建一个网络服务框架。它定义了类来处理TCP,UDP, UNIX streams 和UNIX datagrams上的同步网络请求。 一、Server Types...

用openCV和Python 实现图片对比,并标识出不同点的方式

用openCV和Python 实现图片对比,并标识出不同点的方式

最近项目中需要实现两组图片对比,并能将两者的区别标识出来。 在网上搜索一大堆找到一篇大神的文章,最终实现该功能,在这里记录下: 想要实现此demo,首先我们得确保电脑上已安装 openC...

Python使用pymysql从MySQL数据库中读出数据的方法

python3.x已经不支持mysqldb了,支持的是pymysql 使用pandas读取MySQL数据时,使用sqlalchemy,出现No module named ‘MySQLdb...

跟老齐学Python之大话题小函数(1)

开篇就要提到一个大的话题:编程范型。什么是编程范型?引用维基百科中的解释: 复制代码 代码如下: 编程范型或编程范式(英语:Programming paradigm),(范即模范之意,范...

深入理解NumPy简明教程---数组1

目前我的工作是将NumPy引入到Pyston中(一款Dropbox实现的Python编译器/解释器)。在工作过程中,我深入接触了NumPy源码,了解其实现并提交了PR修复NumPy的bu...