怎么用Python for循环遍历列表、字典和字符串

周叙
周叙
发布时间:2026-10-11| 2人浏览过
原创

在 Python 中,遍历序列或集合最直接的方式是使用 for 循环。它的基本逻辑是:告诉 Python 要遍历的目标容器,循环体就会自动按顺序取出每一个元素并赋值给临时变量,直到容器内的元素被取完为止。本文将逐一演示列表、字典、字符串这三种最常见结构的标准遍历方式、运行过程以及注意事项。

1. for 循环的底层运作机制

与 C 或 Java 等语言中依赖数组下标(如 for (int i=0; i<len; i++))不同,Python 的 for 循环本质上是一个迭代器遍历机制。只要一个对象支持迭代,for 语句就会在每次循环开始时调用该对象的底层迭代接口,取出下一个元素交给循环变量,开发者无需手动维护索引计数器。

怎么用Python for循环遍历列表、字典和字符串
图 1:Python for 循环的内部遍历与控制流转流程

2. 怎么遍历列表(List)

列表是有序序列,遍历列表通常有两种需求:只关心元素本身,或者既需要元素又需要元素对应的序号。

2.1 直接获取元素

如果你只需要按顺序处理每个项目,语法最为简练:

fruits = ["苹果", "香蕉", "橙子"]

for item in fruits:
    print(item)
示例输出
苹果
香蕉
橙子

2.2 同时获取索引和元素:enumerate()

当打印或计算逻辑需要知道当前是第几个元素时,不要使用 range(len(fruits)) 手动取下标。更规范的 Python 做法是使用内置函数 enumerate():

fruits = ["苹果", "香蕉", "橙子"]

# enumerate 默认从 0 开始计数,也可以指定 start=1
for index, item in enumerate(fruits, start=1):
    print(f"序号 {index}: {item}")
示例输出
序号 1: 苹果
序号 2: 香蕉
序号 3: 橙子
遍历列表时的陷阱:不要在 for 循环体内直接使用 list.remove() 或 list.append() 修改原列表的长度。在遍历过程中增删元素会导致内部指针位移混乱,出现漏项或死循环。若需过滤列表,建议先创建副本或直接使用列表推导式。

3. 怎么遍历字典(Dictionary)

字典是键值对(Key-Value)映射结构。初学者遍历字典时最常产生的困惑是:直接写 for x in my_dict,拿到的到底是什么?在 Python 中,直接对字典循环拿到的是键(Key)。

怎么用Python for循环遍历列表、字典和字符串
图 2:字典的三种迭代方法与适用场景

3.1 默认遍历与遍历键

user = {"name": "张三", "role": "管理员", "score": 95}

# 默认遍历键
for key in user:
    print(f"键: {key}, 值: {user[key]}")
示例输出
键: name, 值: 张三
键: role, 值: 管理员
键: score, 值: 95

3.2 使用 .items() 同步解包键与值

虽然通过 user[key] 也能取到对应值,但每次都需要一次字典查找。最优雅且高效的方式是使用 .items() 方法配合多变量解包:

user = {"name": "张三", "role": "管理员", "score": 95}

for key, value in user.items():
    print(f"{key} -> {value}")
示例输出
name -> 张三
role -> 管理员
score -> 95

4. 怎么遍历字符串(String)

在 Python 中,字符串同样属于不可变序列。因此,使用 for 循环遍历字符串时,每一次循环会依次拿到一个单字符(包含英文字母、汉字、标点或空格)。

怎么用Python for循环遍历列表、字典和字符串
图 3:字符串在 for 循环中按字符顺序拆解流程

4.1 单字符逐个处理

text = "Code"

for char in text:
    print(f"字符: {char}")
示例输出
字符: C
字符: o
字符: d
字符: e

4.2 统计字符出现次数

遍历字符串常用于字符统计或清洗。例如统计文本中元音字母的个数:

message = "hello world"
vowels = "aeiou"
count = 0

for char in message:
    if char in vowels:
        count += 1

print(f"元音字母总数: {count}")
示例输出
元音字母总数: 3

5. 循环控制与核心对比总结

在实际应用中,循环不仅要顺序走完,有时还需要中途干预:

  • break:立即终止当前整个循环,跳出循环体。常用于“找到了目标,无需继续往下找”的场景。
  • continue:立即跳过当前这一次迭代的剩余代码,直接进入下一次循环。常用于跳过非法值或不符合条件的值。
怎么用Python for循环遍历列表、字典和字符串
图 4:三种核心容器在遍历时的语法与特征横向总结
选型总结:
  • 遍历列表只拿值直接用 for item in my_list;需要下标辅助用 enumerate(my_list)。
  • 遍历字典同时读写键值对,优先使用 for k, v in my_dict.items(),逻辑最清晰且性能好。
  • 遍历字符串直接 for char in my_str 即可,每个循环轮次处理一个单字符。
相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。