enumerate(iterable, start=0)
返回一个枚举对象。iterable 必须是一个序列,或一个能迭代的对象。返回一个元组,里面包含一个计数值(从 start 开始,默认为 0)和通过迭代 iterable 获得的值。
举例:
seasons = ['小狗', '小猫', '便便', '猫粮']
a = list(enumerate(seasons))
print('这是默认start从0开始的结果:\n', a)
b = list(enumerate(seasons, start=1))
print('这是默认start从1开始的结果:\n', b)
=============================================
这是默认start从0开始的结果:
[(0, '小狗'), (1, '小猫'), (2, '便便'), (3, '猫粮')]
这是默认start从1开始的结果:
[(1, '小狗'), (2, '小猫'), (3, '便便'), (4, '猫粮')]
enumerate()函数会返回两个值,index和value,index是value的索引,如在a(start=0)中,小狗(value)的索引(index)是0,便便(value)的索引(index)是2……
让我们来用for循环测试一下:
seasons = ['小狗', '小猫', '便便', '猫粮']
print('=======当默认start为0时,结果如下:========')
for index,value in enumerate(seasons):#默认start从0开始枚举
print(f'索引为{index}时: 值为 {value}')
print('=======当默认start为1时,结果如下:========')
for index, value in enumerate(seasons,1): # 默认start从1开始枚举
print(f'索引为{index}时: 值为 {value}')
===================================================================
输出结果如下:
=======当默认start为0时,结果如下:========
索引为0时: 值为 小狗
索引为1时: 值为 小猫
索引为2时: 值为 便便
索引为3时: 值为 猫粮
=======当默认start为1时,结果如下:========
索引为1时: 值为 小狗
索引为2时: 值为 小猫
索引为3时: 值为 便便
索引为4时: 值为 猫粮