Python中for...in循环与列表生成式详解

Oliver
Oliver
发布时间:2026-10-13| 6人浏览过
原创

本文详细解析Python中for...in循环结构的执行流程,涵盖字符串、列表、字典等可迭代对象的遍历方法。同时介绍range函数的使用技巧及列表生成式的快速构建方式,帮助开发者掌握基础循环与高效代码编写。

for...in循环基础与语法

for...in 是 Python 中一种常见的循环结构,主要用于遍历字符串、列表、元组或字典等数据类型。

其基本语法格式如下:

for x in y: 循环体

执行流程为:变量 x 依次获取可迭代对象 y 中的每一个元素,当所有元素遍历完毕后,循环自动结束。

示例1展示了如何遍历字符串中的每个字符。

常见数据类型遍历示例


s = 'I love you more than i can say'
for i in s:
  print(i)

示例2演示了遍历列表元素的过程。


l = ['鹅鹅鹅', '曲项向天歌', '锄禾日当午', '春种一粒粟']
for i in l:
  print(i)
# 可以获取下表,enumerate每次循环可以得到下表及元素
for i, v in enumerate(l):
  print(i, v)

示例3介绍了遍历字典键值对的方法。


d = {'a':'apple', 'b':'banana', 'c':'car', 'd': 'desk'}
for key in d:
  # 遍历字典时遍历的是键
  print(key, d.get(key))
# for key, value in d.items():
# 上下两种方式等价 d.items() <=> dict.items(d)
for key, value in dict.items(d):
  print(key, value)

可迭代对象与range函数

接下来介绍列表生成式,这是一种简洁生成列表的方式。

所谓可迭代对象,是指列表、元组、字典等支持遍历操作的数据结构。

range 函数的具体用法如下所示:


print(range(10))
# 可以生成从0开始到10的连续整数的迭代对象
print(range(0, 10))
# 可以遍历
for i in range(10):
  print(i)
# 强制转换为列表
print(list(range(1, 11)))

列表生成式应用

列表生成式可用于快速创建具有特定规律的列表。


# 列表生成式
print([i for i in range(1, 11)])
print([i*2 for i in range(1, 11)])
print([i*i for i in range(1, 11)])
print([str(i) for i in range(1, 11)])
print([i for i in range(1, 11) if i % 2 == 0])

以上就是关于Python中for...in用法的详细介绍,更多相关内容可参考本站其他文章或继续浏览后续内容,感谢支持!

相关标签:

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

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 算法库。