在迭代中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函数的写法更简洁,可以在迭代中给每个元素赋上索引

 

range与enumerate的区别的更多相关文章

  1. range和xrange的区别

    range和xrange的区别 python3里面只有range,返回结果是一个生成器,官方文档是这样描述的 class range(object): """ range ...

  2. range() 和 np.arange()区别

    range() 和 np.arange()区别 range(start,stop,step) 三个参数都必须是整数 np.arange()没有此类约束

  3. python 基础 2.7 range与xrange的区别

    #/usr/bin/python #coding=utf-8 #@Time :2017/10/25 19:22 #@Auther :liuzhenchuan #@File :range与xrange的 ...

  4. python range() 和xrange()的区别

    Help on built-in function range in module __builtin__: range(...) range(stop) -> list of integers ...

  5. range和xrange的区别详解

    两种用法介绍如下:1.range([start], stop[, step])返回等差数列.构建等差数列,起点是start,终点是stop,但不包含stop,公差是step.start和step是可选 ...

  6. range与xrange的区别

    一.Python中range()与xrange()有什么区别 range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列 rang ...

  7. Python的range、enumerate和zip函数用法

    range函数可创建一个整数列表.如果需要知道当前元素在列表中的索引,推荐用enumerate代替range.zip函数用于同时遍历多个迭代器. 一.range 函数 range函数可创建一个整数列表 ...

  8. index unique scan 与index range scan等的区别

    存取Oracle当中扫描数据的方法(一) Oracle 是一个面向Internet计算环境的数据库.它是在数据库领域一直处于领先地位的甲骨文公司的产品.可以说Oracle关系数据库系统是目前世界上流行 ...

  9. python中range和xrange的区别

    1.range生成一个列表:xrange生成一个生成器 2.用法都差不多  

随机推荐

  1. HBase 二级索引与Join

    二级索引与索引Join是Online业务系统要求存储引擎提供的基本特性.RDBMS支持得比较好,NOSQL阵营也在摸索着符合自身特点的最佳解决方案. 这篇文章会以HBase做为对象来探讨如何基于Hba ...

  2. obj-c在Xcode之外如何使用@import关键字

    在Xcode中@import可以很方便的代替#import的功能,具体区别和便利请自行google之. 这里简单介绍下在Xcode之外如何使用@import.直接以 @import Foundatio ...

  3. azkaban的安装部署

    一.所需环境 1,JDK 2,HADOOP 4,mysql 3,HIVE 二.安装azkaban 1,安装git命令: yum install git 2,下载azkaban源码:git clone ...

  4. generate parentheses(生成括号)

    Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthes ...

  5. Day10 多线程理论 开启线程

    多线程: 多线程和多进程的不同是他们占用的资源不一样, 一个进程里边可以包含一个或多个进程, 进程的开销大,线程的开销小. 打个比方来说:创建一个进程,就是创建一个车间.创建一个线程,就是在一个车间创 ...

  6. Mac下通过brew安装指定版本的nodejs

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px "PingFang SC Semibold"; color: #2c303 ...

  7. 干货!从Tomcat执行流程了解jsp是如何被解析的,错误提示是哪里生成的。

    一.关于Tomcat组成          先上张图: Tomcat组成: 1. Server:代表整个 servlet 容器,如Tomcat,JBoss之类的. 2. Service:它由一个或者多 ...

  8. Java自学教程视频

    BAT大咖助力 全面升级Android面试 BAT大牛亲授 基于ElasticSearch的搜房网实战 从天气项目看Spring Cloud微服务治理 Java企业级电商项目架构演进之路  Tomca ...

  9. Ocelot中文文档-管理

    Ocelot支持在运行时通过一个认证的Http API修改配置.有两种方式对其验证, 使用Ocelot的内置IdentityServer(仅用于向管理API验证请求)或将管理API验证挂接到您自己的I ...

  10. 微信小程序入门三实战

    微信小应用借鉴了很多web的理念,但是其与传统的webApp.微信公共号这些BS架构不同,他是CS架构,是客户端的程序 小程序开发实战--豆瓣电影 项目配置 -在app.jsop中进行简单配置 --n ...