博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python之enumerate()函数用法
阅读量:6861 次
发布时间:2019-06-26

本文共 960 字,大约阅读时间需要 3 分钟。

enumerate()说明

enumerate()是python的内置函数

enumerate在字典上是枚举、列举的意思

对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值

enumerate多用于在for循环中得到计数

例如对于一个seq,得到:

1
(
0
, seq[
0
]), (
1
, seq[
1
]), (
2
, seq[
2
])

enumerate()返回的是一个enumerate对象,例如:

这里写图片描述


enumerate()使用

如果对一个列表,既要遍历索引又要遍历元素时,首先可以这样写:

1
2
3
list1 = [
"这"
,
"是"
,
"一个"
,
"测试"
]
for
i in range (len(list1)):
    
print i ,list1[i]

上述方法有些累赘,利用enumerate()会更加直接和优美:

1
2
3
4
5
6
7
8
list1 = [
"这"
,
"是"
,
"一个"
,
"测试"
]
for
index, item in enumerate(list1):
    
print index, item
>>>
0
1
2
一个
3
测试

enumerate还可以接收第二个参数,用于指定索引起始值,如:

1
2
3
4
5
6
7
8
list1 = [
"这"
,
"是"
,
"一个"
,
"测试"
]
for
index, item in enumerate(list1,
1
):
    
print index, item
>>>
1
2
3
一个
4
测试

补充

如果要统计文件的行数,可以这样写:

1
count = len(open(filepath,
'r'
).readlines())

这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。

可以利用enumerate():

1
2
3
count =
0
for
index, line in enumerate(open(filepath,
'r'
)):
    
count +=
1

转载于:https://www.cnblogs.com/wind666/p/10900491.html

你可能感兴趣的文章
Springboot的热部署
查看>>
Thinking in UML-1-为什么需要UML
查看>>
vs编译obj给delphi用
查看>>
过游戏保护NP或TP的几种方法和思路
查看>>
equals和hashcode为什么要一起重写
查看>>
模态与非模态对话框的问题
查看>>
httpclient 备注 控制连接时间及多线程错误
查看>>
地对地导弹地对地导弹地对地导弹
查看>>
浏览器根对象window之performance
查看>>
让div 充满整个body
查看>>
常用排序算法
查看>>
程序员保持快乐活跃的6个好习惯(转)
查看>>
找工作的一些感悟——前端小菜的成长
查看>>
jSON Call can throw but it is not marked with try
查看>>
基于bootstrap的jQuery多级列表树插件 treeview
查看>>
node06
查看>>
笔试题[转]
查看>>
图片轮换
查看>>
PHP数据结构练习笔记--栈
查看>>
JSON对象配合jquery.tmpl.min.js插件,手动攒出一个table
查看>>