enumerate()
函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for
循环中。
使用语法:
enumerate(sequence, [start=0])
sequence
,一个序列、迭代器或其他支持迭代的对象。start
,下标起始位置。- 返回一个
enumerate
(枚举)对象。
实例
list1 = [1, 2, 'Hello', '小明']
list2 = list(enumerate(list1))
print(list2)
list3 = list(enumerate(list1, start=1))
print(list3)
输出结果:
[(0, 1), (1, 2), (2, 'Hello'), (3, '小明')]
[(1, 2), (2, 'Hello'), (3, '小明')]
使用for
循环遍历列表索引和元素
- 第一种写法:
list1 = ["这", "是", "一个", "测试"]
for i in range(len(list1)):
print i, list1[i]
但是这种写法有些累赘。
- 第二种:使用
enumerate()
方法。
list1 = ["这", "是", "一个", "测试"]
for index, item in enumerate(list1):
print index, item
输出结果:
0 这
1 是
2 一个
3 测试
补充
如果需要统计文件的行数,可以这样写:
count = len(open(filepath, 'r').readlines())
但是这样比较慢,当文件比较大的时候甚至不能工作。
可以使用enumerate()
:
count = 0
for index, line in enumerate(open(filepath, 'r')):
count += 1