# 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)
```
* * *
* * *
- 初级 Python
- python 入门
- 安装 Python3
- 运行 python 程序
- 数据类型和变量
- Python 数字
- Python 字符串
- Python 列表
- Python 字典
- Python 元组
- 数据类型转换
- Python 控制语句
- Python 函数
- Python 循环
- Python 数学函数
- Python 生成随机数
- Python 文件处理
- Python 对象和类
- Python 运算符重载
- Python 继承与多态
- Python 异常处理
- Python 模块
- 高级 Python
- Python *args和**kwargs
- Python 生成器
- Python 正则表达式
- 使用 PIP 在 python 中安装包
- Python virtualenv指南
- Python 递归函数
- __name__ == "__main__"是什么?
- Python Lambda 函数
- Python 字符串格式化
- Python 内置函数和方法
- Python abs()函数
- Python bin()函数
- Python id()函数
- Python map()函数
- Python zip()函数
- Python filter()函数
- Python reduce()函数
- Python sorted()函数
- Python enumerate()函数
- Python reversed()函数
- Python range()函数
- Python sum()函数
- Python max()函数
- Python min()函数
- Python eval()函数
- Python len()函数
- Python ord()函数
- Python chr()函数
- Python any()函数
- Python all()函数
- Python globals()函数
- Python locals()函数
- 数据库访问
- 安装 Python MySQLdb
- 连接到数据库
- MySQLdb 获取结果
- 插入行
- 处理错误
- 使用fetchone()和fetchmany()获取记录
- 常见做法
- Python:如何读取和写入文件
- Python:如何读取和写入 CSV 文件
- 用 Python 读写 JSON
- 用 Python 转储对象