原文: https://thepythonguru.com/python-builtin-functions/enumerate/
于 2020 年 1 月 7 日更新
enumerate()函数采用一个可迭代对象,并返回一个枚举对象(一个迭代器),该对象生成一个格式为(index, item)的元组,其中index指该项目的偏移量,item指的是可迭代对象中的对应的项目。
enumerate()函数的语法如下:
语法:
enumerate(iterable[, start=0]) -> iterator for index, value of iterable
| 参数 | 描述 |
|---|---|
iterable |
(必需)任何可迭代的对象,例如字符串,列表,字典等。 |
start(可选) |
index的初始值。 默认为0。 |
这是一个例子:
>>>>>> list(enumerate("hello"))[(0, 'h'), (1, 'e'), (2, 'l'), (3, 'l'), (4, 'o')]>>>>>>>>> for index, value in enumerate("hello"):... print(index, value)...0 h1 e2 l3 l4 o>>>
试试看:
print( list(enumerate("hello")) )for index, value in enumerate("hello"):print(index, value)
以下清单显示enumerate()如何与清单,字典和元组一起使用:
>>>>>> for index, value in enumerate([110, 45, 12, 891, "one"]):... print(index, value)...0 1101 452 123 8914 one>>>>>>>>> for index, value in enumerate({'name': 'Jane', 'age': 26, 'salary': 40000}):... print(index, value)...0 name1 salary2 age>>>>>>>>> for index, value in enumerate({1, 290, -88, 10}):... print(index, value)...0 -881 12 103 290>>>
试一试:
for index, value in enumerate([110, 45, 12, 891, "one"]):print(index, value)print("-"*20)for index, value in enumerate({'name': 'Jane', 'age': 26, 'salary': 40000}):print(index, value)print("-"*20)for index, value in enumerate({1, 290, -88, 10}):print(index, value)
设置索引的初始值
要设置索引的初始值,我们使用start关键字参数。
>>>>>> list(enumerate("hello", start=2))[(2, 'h'), (3, 'e'), (4, 'l'), (5, 'l'), (6, 'o')]>>>>>>>>> for index, value in enumerate("hello", start=2):... print(index, value)...2 h3 e4 l5 l6 o>>>
试一试:
print( list(enumerate("hello", start=2)) )for index, value in enumerate("hello", start=2):print(index, value)
