亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

精通 Python enumerate():为列表、元组、字符串、字典带索引循环

精通 Python enumerate():为列表、元组、字符串、字典带索引循环

什么是 Python enumerate?

enumerate() 是 Python 内置函数,为任何可迭代对象添加计数器,返回 (index, value) 元组的迭代器。根据官方 Python 文档,该函数提供简洁高效的方式在迭代时同时获取位置和元素。

核心要点

语法

enumerate(iterable, start=0)

参数

返回值

产出 (index, element) 形式的迭代器,index 从 start 开始,每元素递增 1。

使用 enumerate() – 基础示例

下面简单演示。将列表 my_list 传给 enumerate(),并将结果迭代器转为列表显示。

my_list = ['A', 'B', 'C', 'D']
print(list(enumerate(my_list)))

输出:

[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]

自定义起始索引

提供 start 参数可偏移编号:

my_list = ['A', 'B', 'C', 'D']
print(list(enumerate(my_list, 2)))

输出:

[(2, 'A'), (3, 'B'), (4, 'C'), (5, 'D')]

配合 enumerate() 循环

在 for 循环中使用 enumerate() 代码整洁,无需单独计数器变量。

my_list = ['A', 'B', 'C', 'D']
for index, value in enumerate(my_list):
    print(index, value)
print("---")
for index, value in enumerate(my_list, 10):
    print(index, value)

输出:

0 A
1 B
2 C
3 D
---
10 A
11 B
12 C
13 D

枚举元组

元组同理:

my_tuple = ('A', 'B', 'C', 'D', 'E')
for index, value in enumerate(my_tuple):
    print(index, value)

输出:

0 A
1 B
2 C
3 D
4 E

枚举字符串

字符串在 Python 中可迭代,enumerate() 可揭示每字符位置:

my_str = "Guru99"
for index, char in enumerate(my_str):
    print(index, char)

输出:

0 G
1 u
2 r
3 u
4 9
5 9

枚举字典

传字典给 enumerate() 时,迭代其键:

my_dict = {"a": "PHP", "b": "JAVA", "c": "PYTHON", "d": "NODEJS"}
for index, key in enumerate(my_dict):
    print(index, key)

输出:

0 a
1 b
2 c
3 d

为什么用 enumerate()?

总结

Python

  1. 精通Python函数参数:位置、关键字与默认参数
  2. Python Lambda匿名函数实战指南
  3. Python 生成器:高效迭代与进阶用例
  4. Python 闭包详解:嵌套函数如何捕获变量
  5. 精通 Python 装饰器:专家技巧增强函数
  6. Python 循环完全指南:for、while、break、continue、enumerate 详解
  7. Python strip() 方法完全指南:去除首尾空白与自定义字符实战
  8. Python str.count() 完全指南:统计字符与子串出现次数实战
  9. Python len() 函数实战指南:测量字符串、列表、元组、字典等对象长度
  10. 精通 Python range() 函数:从基础到高级用法
  11. 精通 Python yield:生成器 vs return 实战指南
  12. 精通 Python enumerate():为列表、元组、字符串、字典带索引循环