python枚举函数----enumerate() 对可迭代对象进行迭代枚举

enumerate()是python的内置函数,可以对可迭代对象进行迭代,返回下标index和对应的数据data。
可迭代对象包括:列表、元组、迭代器、文件等。

一、对列表、元组的迭代

注意enumerate不能迭代字典,因为字典是无序的,依靠关键字key确定元素,不是依index确定元素。
代码:

list1 = [10, 20, 30, 40]
for index, value in enumerate(list1):
    print(index, "  ", value)

tuple1 = (100, 200, 300, 400)
for index, value in enumerate(tuple1):
    print(index, "  ", value)

输出结果:

0    10
1    20
2    30
3    40
0    100
1    200
2    300
3    400

二、对txt文件的迭代

enumerate也可以对文本文件进行逐行读取迭代,返回值index为从0开始的行数,data为每行内容。

文本文件test_enumerate.txt 内容如下:
python枚举函数----enumerate() 对可迭代对象进行迭代枚举
代码:

with open("test_enumerate.txt",'r',encoding='utf-8') as file:
    for index,line in enumerate(file):
        print(index,"    ", line, end="")

输出结果:

0      First line:deep learing
1      Second line: machine learning
2      Line three: artificial intelligence
3      这是一行乱码 dfo 44kf43i52#$$%$ 45$%$ 
4      end

其中 encoding=‘utf-8’ 是设置编码格式为UTF-8,否则无法读取中文。UTF-8是针对Unicode的一种可变长度字符编码,可以用来表示Unicode标准中的任何字符,因此逐渐成为电子邮件、网页等应用中优先采用的编码。
若txt文本中无中文,则可以不设置编码格式,直接读取文件即可。

上一篇:python enumerate用法总结


下一篇:Python 原生文件读写