38.Python中enumerate用法详解

发布时间 2023-11-17 11:17:54作者: 想要暴富的小男孩

enumerate是python的内置函数,适用于python2.x和python3.x。该函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,返回一个enumerate对象实例。

enumerate在字典上是枚举、列举的意思
enumerate参数为可遍历/可迭代的对象(如列表、字符串)
enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用enumerate
enumerate()返回的是一个enumerate对象

class Student:
def __init__(self, name, age):
self.name = name
self.age = age
self.courses = []

def __str__(self):
return f'Name: {self.name}--Age: {self.age}'

def select_course(self, courseName):
self.courses.append(courseName)

def all_course(self):
print(f'{self.name} 本学期选课如下:')
for idx, c in enumerate(self.courses):
print(f'第{idx + 1}门课:{c}')


s1 = Student('Sam', 24)
s1.select_course('python')
s1.select_course('java')
s1.select_course('PyTest框架')
s1.all_course()

# 指定索引从0开始
lst = [1, 2, 3, 4, 5]
for index, value in enumerate(lst):
print('%s,%s' % (index, value))

# 指定索引从1开始
lst = [1, 2, 3, 4, 5]
for index, value in enumerate(lst, 1):
print('%s, %s' % (index, value))

# 指定索引从3开始
lst = [1, 2, 3, 4, 5, 6, 7, 8]
for index, value in enumerate(lst, 3):
print('%s, %s' % (index, value))

# 读取文件行数
count = 0
for index, line in enumerate(open("demo.txt", 'r'), 1):
print('%s, %s' % (index, line))