enumerate翻译为枚举类型。依照我个人对枚举的理解,枚举就是把列表(或是元组)中的元素一个一个地都拿出来。这称之为“枚举”。
先来看一个简单的例子:
s=[1,2,6,9]
for index,item in enumerate(s):
print(index,item)
运行结果为:
看到了吧,如图所示:index会从0依次递增,而item则是从列表s中的第一个元素起,一个一个依次进行遍历。index会和s中的元素的个数进行匹配。
再举一个例子:
# 共10个类别
label_name = [
"airplane",
"automobile",
"bird",
"cat",
"deer",
"dog",
"frog",
"horse",
"ship",
"truck"]
# 把字符串转换成对应的数字
for idx,name in enumerate(label_name):
print("idx:",idx,"name:",name)
运行结果:
idx: 0 name: airplane
idx: 1 name: automobile
idx: 2 name: bird
idx: 3 name: cat
idx: 4 name: deer
idx: 5 name: dog
idx: 6 name: frog
idx: 7 name: horse
idx: 8 name: ship
idx: 9 name: truck
这个例子在本质上和上面的例子是一样的,只是元组中元素的个数比之前的那个例子要多。 在enumerate中,默认是从下标为0开始的,当然可以指定start为其他的数字,但是这里的数字表示的是起始的数字,而不是列表或其他数据类型的真实下标! 比如:
s=[1,2,6,9]
for index,item in enumerate(s,6):
print(index,item)
运行结果为: