enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中
语法
enumerate(sequence, [start=0])
参数
sequence:一个序列、迭代器或其他支持迭代对象
start:下标起始位置
返回值
返回enumerate(枚举)对象
seasons = ['Spring', 'Summer', 'Autumn', 'Winter']
# [(0, 'Spring'), (1, 'Summer'), (2, 'Autumn'), (3, 'Winter')]
print(list(enumerate(seasons)))
# [(1, 'Spring'), (2, 'Summer'), (3, 'Autumn'), (4, 'Winter')]
print(list(enumerate(seasons, start=1))) # 下标从1开始
普通的for循环
i = 0
seq = ['one', 'two', 'three']
for element in seq:
print(i, seq[i])
i = i + 1
# 0 one
# 1 two
# 2 three
for循环使用enumerate
seq = ['one', 'two', 'three']
for i, element in enumerate(seq):
print(i, element)
# 0 one
# 1 two
# 2 three
扩展练习:将学生成绩从大到小排名,并依次打印出来
score = [90, 89, 56, 78, 99]
score = [90, 89, 56, 78, 99]
# 从大到小进行排序
sort_s = sorted(score, reverse=True)
# 普通写法
index = 1
for i in sort_s:
print('第{}名:'.format(index),i)
index = index + 1
# 进阶写法
for i, j in enumerate(sort_s, start = 1):
print('第{}名:'.format(i),j)
#-----------------------------------
第1名: 99
第2名: 90
第3名: 89
第4名: 78
第5名: 56
#----------------------------------