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

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

在 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 相关产品和应用

全部下载

专题列表