如何使用嵌套 for 循环对字符串列表及其每个字符进行逐层遍历与打印

6次阅读

如何使用嵌套 for 循环对字符串列表及其每个字符进行逐层遍历与打印

本文讲解如何用纯 `for` 循环(不使用切片、索引或额外库)遍历字符串列表,并对每个名字中的每个字符单独打印,实现“名字换行 + 字符空格分隔”的清晰输出格式。

python 中,字符串是可迭代对象,因此可以直接用 for char in name: 遍历其每个字符,无需手动维护索引或进行复杂比较。原代码中混用了变量名 name(外层循环变量)和内层循环逻辑,导致变量覆盖、索引错乱及条件判断失效(如 name[index]

正确的做法是保持语义清晰:外层循环遍历人名列表,内层循环遍历当前人名的每一个字符。以下是简洁、健壮、符合题意的实现:

people = ['Vianney', 'Mariana', 'Ignacio', 'Gaspar']  for name in people:     print(name)  # 打印完整姓名,独占一行     for char in name:         print(char, end=' ')  # 每个字符后接空格,不换行     print()  # 内层循环结束后换行,分隔不同人名的字符序列

运行结果:

Vianney V i a n n e y  Mariana M a r i a n a  Ignacio I g n a c i o  Gaspar G a s p a r

关键要点说明:

  • ✅ 避免重用循环变量名(如内外层都用 name),否则会导致逻辑混乱和 TypeError;
  • ✅ 不需手动管理 index 或做无意义的字符比较(原代码中的 if name[index]
  • ✅ end=’ ‘ 控制字符间以空格连接,print() 单独调用确保每组字符后正确换行;
  • ✅ 完全遵循题目要求:仅使用 for … in … 结构,不依赖切片([:])、索引访问([i])或 range()。

该方法简洁、可读性强,是 Python 迭代思想的典型体现——让数据本身决定遍历方式,而非人为操控下标。

text=ZqhQzanResources