ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Python `enumerate()`函数 > 原文: [https://thepythonguru.com/python-builtin-functions/enumerate/](https://thepythonguru.com/python-builtin-functions/enumerate/) * * * 于 2020 年 1 月 7 日更新 * * * `enumerate()`函数采用一个可迭代对象,并返回一个枚举对象(一个迭代器),该对象生成一个格式为`(index, item)`的元组,其中`index`指该项目的偏移量,`item`指的是可迭代对象中的对应的项目。 `enumerate()`函数的语法如下: **语法**: ```py enumerate(iterable[, start=0]) -> iterator for index, value of iterable ``` | 参数 | 描述 | | --- | --- | | `iterable` | (必需)任何可迭代的对象,例如字符串,列表,字典等。 | | `start`(可选) | `index`的初始值。 默认为`0`。 | 这是一个例子: ```py >>> >>> list(enumerate("hello")) [(0, 'h'), (1, 'e'), (2, 'l'), (3, 'l'), (4, 'o')] >>> >>> >>> for index, value in enumerate("hello"): ... print(index, value) ... 0 h 1 e 2 l 3 l 4 o >>> ``` 试试看: ```py print( list(enumerate("hello")) ) for index, value in enumerate("hello"): print(index, value) ``` 以下清单显示`enumerate()`如何与清单,字典和元组一起使用: ```py >>> >>> for index, value in enumerate([110, 45, 12, 891, "one"]): ... print(index, value) ... 0 110 1 45 2 12 3 891 4 one >>> >>> >>> for index, value in enumerate({'name': 'Jane', 'age': 26, 'salary': 40000}): ... print(index, value) ... 0 name 1 salary 2 age >>> >>> >>> for index, value in enumerate({1, 290, -88, 10}): ... print(index, value) ... 0 -88 1 1 2 10 3 290 >>> ``` 试一试: ```py 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`关键字参数。 ```py >>> >>> 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 h 3 e 4 l 5 l 6 o >>> ``` 试一试: ```py print( list(enumerate("hello", start=2)) ) for index, value in enumerate("hello", start=2): print(index, value) ``` * * * * * *