Python range与enumerate函数区别解析

在迭代中enumerate比range更能灵活,一般情况下尽量用erumerate,下面举例说明:

先来看range的使用:

city_list = ['beijing', 'shanghai', 'tianjing', 'wuhan']

# 用range将元素打印出来
# 直接打印,不用range
for city in city_list:
  print('this is %s' % city)

# 用下标打印
for i in range(len(city_list)):
  city = city_list[i]
  print('this is %s' % city)
# 以字典的方式打印
for i in range(len(city_list)):
  city = city_list[i]
  print('%s: %s' %(i+1,city)

打印结果:

this is beijing
this is shanghai
this is tianjing
this is wuhan
this is beijing
this is shanghai
this is tianjing
this is wuhan
1: beijing
2: shanghai
3: tianjing
4: wuhan

再看看enumera的用法:

for i,city in enumerate(city_list):
  print('%s: %s' %(i+1,city))
# 也可以直接指定开始计数的值
for i,city in enumerate(city_list,7):
  print('%s: %s' %(i,city))

结果如下:

1: beijing
2: shanghai
3: tianjing
4: wuhan
7: beijing
8: shanghai
9: tianjing
10: wuhan

综上:

enumer函数的写法更简洁,可以在迭代中给每个元素赋上索引

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Django Python 获取请求头信息Content-Range的方法

    request请求头信息的键会加上HTTP_转换成大写存到request.META中 因此你只需要 content_range = request.META['HTTP_CONTENT_RANGE'] 这样就可以获取到Content-Range的信息. django官网的解释: A standard Python dictionary containing all available HTTP headers. Available headers depend on the client and

  • python基础 range的用法解析

    range基本用法: range:顾头不顾尾 range(10)--返回0-9的数字 ey: for i in range(10): print(i) result:0,1,...,9 range(0,10)--等同于range(10),返回0-9的数字 ey: for i in range(0,10): print(i) result:0,1,...,9 range(0,10,2)--返回0-9的数字,步长为2 ey: for i in range(0,10,2): print(i) resu

  • Python for i in range ()用法详解

    for i in range ()作用: range()是一个函数, for i in range () 就是给i赋值: 比如 for i in range (1,3): 就是把1,2依次赋值给i range () 函数的使用是这样的: range(start, stop[, step]),分别是起始.终止和步长 range(3)即:从0到3,不包含3,即0,1,2 >>> for i in range(3): print(i) 0 1 2 range(1,3) 即:从1到3,不包含3,

  • Python3enumrate和range对比及示例详解

    前言 在Python中,enumrate和range都常用于for循环中,enumrate函数用于同时循环列表和元素,而range()函数可以生成数值范围变化的列表,而能够用于for循环即都是可迭代的. range概述 range是用于产生连续或者带步长的数字元素组成的列表,下面是一些基本使用及场景示例. 产生数字序列 # 产生0-9的序列 for i in range(0, 10): print(i) print('-' * 40) # 产生0-20,步进(间隔)为3的数字元素组成的序列 fo

  • Python3常见函数range()用法详解

    0X01函数说明: python range() 函数可创建一个整数列表,一般用在 for 循环中. 0X02函数语法: 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

  • python进阶教程之循环相关函数range、enumerate、zip

    在"循环"一节,我们已经讨论了Python基本的循环语法.这一节,我们将接触更加灵活的循环方式. range() 在Python中,for循环后的in跟随一个序列的话,循环每次使用的序列元素,而不是序列的下标. 之前我们已经使用过range()来控制for循环.现在,我们继续开发range的功能,以实现下标对循环的控制: 复制代码 代码如下: S = 'abcdefghijk' for i in range(0,len(S),2):     print S[i] 在该例子中,我们利用l

  • 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

  • python的range和linspace使用详解

    在python中要产生一个数字序列,最快的方法就是使用range和linspace函数,但是这两者不太一样,但总的来说实现的效果是一致的,都能获取一个数字序列. range range一看其名就知道是产生一个范围的序列,但是具体要怎么用,还是需要说一说的.其调用主要是以下几种形式: range(n) 就是产生从0-n的一个数字序列,python中当你没有指定序列的起始点的时候,默认是从0开始.而步长也默认是1,即数字序列按增量1指定区间取数.这里着重注意下,数字序列是不包括n的,即[0,n)这样

  • Python range与enumerate函数区别解析

    在迭代中enumerate比range更能灵活,一般情况下尽量用erumerate,下面举例说明: 先来看range的使用: city_list = ['beijing', 'shanghai', 'tianjing', 'wuhan'] # 用range将元素打印出来 # 直接打印,不用range for city in city_list: print('this is %s' % city) # 用下标打印 for i in range(len(city_list)): city = ci

  • Python中enumerate函数代码解析

    enumerate函数用于遍历序列中的元素以及它们的下标. enumerate函数说明: 函数原型:enumerate(sequence, [start=0]) 功能:将可循环序列sequence以start开始分别列出序列数据和数据下标 即对一个可遍历的数据对象(如列表.元组或字符串),enumerate会将该数据对象组合为一个索引序列,同时列出数据和数据下标. 举例说明: 存在一个sequence,对其使用enumerate将会得到如下结果: start        sequence[0]

  • python遍历序列enumerate函数浅析

    enumerate函数用于遍历序列中的元素以及它们的下标. enumerate函数说明: 函数原型:enumerate(sequence, [start=0]) 功能:将可循环序列sequence以start开始分别列出序列数据和数据下标 即对一个可遍历的数据对象(如列表.元组或字符串),enumerate会将该数据对象组合为一个索引序列,同时列出数据和数据下标. 举例说明: 存在一个sequence,对其使用enumerate将会得到如下结果: start        sequence[0]

  • python re模块findall()函数实例解析

    本文研究的是re模块findall()函数的相关内容,首先看看实例代码: >>> import re >>> s = "adfad asdfasdf asdfas asdfawef asd adsfas " >>> reObj1 = re.compile('((\w+)\s+\w+)') >>> reObj1.findall(s) [('adfad asdfasdf', 'adfad'), ('asdfas asd

  • python next()和iter()函数原理解析

    这篇文章主要介绍了python next()和iter()函数原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们首先要知道什么是可迭代的对象(可以用for循环的对象)Iterable: 一类:list,tuple,dict,set,str 二类:generator,包含生成器和带yield的generatoe function 而生成器不但可以作用于for,还可以被next()函数不断调用并返回下一个值,可以被next()函数不断返回

  • python误差棒图errorbar()函数实例解析

    这篇文章主要介绍了python误差棒图errorbar()函数实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 函数功能:绘制y轴方向或是x轴方向的误差范围. 调用签名:plt.errorbar(x, y, yerr=a, xerr=b) x:数据点的水平位置 y:数据点的垂直位置 yerr:y轴方向的数据点的误差计算方法 xerr:x轴方向的数据点的误差计算方法 代码实现: import matplotlib.pyplot as plt

  • python中使用enumerate函数遍历元素实例

    这个是python的一个内建函数,看书的时候发现了他,mark一下当我们既需要遍历索引同时需要遍历元素的时候,可以考虑使用enumerate函数,enumerate函数接受一个可遍历的对象,如列表.字符串 比如我们有一个["one","two","there"]的列表,我们需要在列表的每个元素前面加上他的编号 复制代码 代码如下: i = 0seq = ["one","two","three&qu

  • Python callable内置函数原理解析

    python内置函数 callable用于检查一个对象是否是可调用的,如果函数返回True,object 仍然可能调用失败:但如果返回 False,调用对象 object 绝对不会成功. 一.callable函数简介 语法如下: callable(object) 参数介绍: object : 调用的对象: 返回值:返回bool值,如果object对象可以被调用返回true,不能被调用返回false; 值得注意的是:即便函数返回true,object也有可能调用失败,返回false意味着觉得不会成

  • Python根据字符串调用函数过程解析

    1.使用 getattr(object, name, default=None) 获取属性 # -*- encoding=utf-8 -*- class Test: def __init__(self): self.name = '莉莉' self.age = 18 if __name__ == '__main__': test = Test() name = getattr(test, 'name') # 获取属性 print(name) age = getattr(test, 'age')

随机推荐