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
enumerate也可以对文本文件进行逐行读取迭代,返回值index为从0开始的行数,data为每行内容。
文本文件test_enumerate.txt 内容如下:
代码:
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文本中无中文,则可以不设置编码格式,直接读取文件即可。