python 中enumerate函数(千年虫)
描述:
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
Python 2.3. 以上版本可用,2.6 添加 start 参数。
语法:
enumerate(sequence, [start=0])
参数
- sequence -- 一个序列、迭代器或其他支持迭代对象。
- start -- 下标起始位置。
返回值
返回 enumerate(枚举) 对象。
举例:
seasons = ['Spring', 'Summer', 'Fall', 'Winter'] print(list(enumerate(seasons))) print(list(enumerate(seasons, start=1))) # 下标从 1 开始
输出结果:
举例:千年虫(年份)
year=[80,88,89,86,85,83,00,98] print("原列表:",year)
执行结果如下(当输入00时,系统会自动输出0,导致当年份是2000年时无法正常输出):
解决办法:
for index,value in enumerate(year): # print(index,year) if str(value) != '0': year[index]=int('19'+str(value)) else: year[index]=int('200'+str(value)) print('修改之后的列表:',year)
执行结果:
还可以将列表进行排序:
#列表的排序 year.sort() print('排序之后的列表为:',year)
执行结果如下:
整体代码如下:
year=[80,88,89,86,85,83,00,98] print("原列表:",year) for index,value in enumerate(year): # print(index,year) if str(value) != '0': year[index]=int('19'+str(value)) else: year[index]=int('200'+str(value)) print('修改之后的列表:',year) #列表的排序 year.sort() print('排序之后的列表为:',year)