Python enumerate()简单总结

enumerate的简单总结
首先,enumerate()是python的一个内置函数。
语法:
enumerate(sequence, [start=0])
参数:
sequence – 一个序列、迭代器或其他支持迭代对象。
start – 下标起始位置。
返回值:
返回 enumerate(枚举) 对象

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

2返回一个计数器和元素值。计数器默认为0,也是元素的索引。如果不想在0开始你的计数,只需要使用可选start参数来设置偏移量。
3通过for循环得到enumerate里的索引计数。

a.将可迭代对象(Iterable)组成一个索引序列:

list1 = ['a','b','c','d']
for index, item in enumerate(list1):
    print(index, item)
>>>
0 a
1 b
2 c
3 d

b.迭代器(Iterator)组成一个索引序列:

generator_ex = (x*x for x in range(10))
print(list(enumerate(generator_ex)))
>>>
[(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25), (6, 36), (7, 49), (8, 64), (9, 81)]

c.改变索引起始值:

list1 = ['a','b','c','d']
for index, item in enumerate(list1,start=100):
    print index, item
>>>
100 a
101 b
102 c
103 d

扩展:
文件统计行数:

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

上述操作,对于相对比较小的文件可以使用该方法,可是对于数据量相当大的文件就不适用了,否则会造成速度缓慢甚至不能正常工作。

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

使用enumerate() 函数遍历文件,在以count作为累加器,求得文件行数。open函数相当于创建了一个迭代器,这样消耗的内存数量将大大减小。

一个关于程序员杂谈的公众号,欢迎关注!
在这里插入图片描述

有不足之处望留言指正

——————END——————
Programmer:柘月十七

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值