30.1.7. 尽量用enumerate取代range

当然有的时候,在迭代list的过程中也需要知道当前处理的这个元素在list里的位置。

enumerate输出的每一对数据,都可以拆分(unpacking)到for语句的那两个变量里面

list_sample = ["hujianli1", "hujainili2", "hujianli3", "hujianli4"]

for index in range(len(list_sample)):
    print(f"index:{index + 1}, name:{list_sample[index]}")

print("-" * 100)

for i, name in enumerate(list_sample):
    print(f"index:{i}, name:{name}")

要点

enumerate函数可以用简洁的代码迭代iterator,而且可以指出当前这轮循环的序号。

不要先通过range指定下标的取值范围,然后用下标去访问序列,而是应该直接用enumerate函数迭代。可以通过