Python 的 enumerate() 函数就像是一个神秘的黑箱,你无法简单地用一句话来概括这个函数的作用与用法。
你不再需要在Python代码中专门去生成元素索引,而是将所有这些工作都交给enumerate()函数处理即可。这样,你的代码将更容易被阅读,而且减少写错代码的影响。
另一个有用的特性是,enumerate()函数允许我们为循环自定义起始索引值。enumerate()函数中接受一个可选参数,该参数允许你为本次循环中的计数器变量设置初始值:
names = ["A","B","C","D"]
for index,value in enumerate(names):
print(f'{index}: {value}')
输出:
0: A
1: B
2: C
3: D
for index,value in enumerate(names,1):
print(f'{index}: {value}')
输出:
1: A
2: B
3: C
4: D
enumerate()函数中加了一个1,输出的索引就是从1开始的。之前默认是0哦。
启发:如果我们需要遍历数据加载器如下:
trainset = namedataset(is_train = True)
trainloader = DataLoader(trainset, batch_size=BATCH_SIZE, shuffle=True)
如果们只需要遍历trainloader的内容:我们只需要 :
for (names, countries) in trainloader:
print(names)
print(countries)
如果我们需要遍历trainloader的内容并加上索引:我们可以:
for i,(names, countries) in enumerate(trainloader,0):
print(i)
print(names)
print(countries)
如果从0开始enumerate的可选参数就是0,如果从1开始enumerate的可选参数就是1