Python 列表推导式

Python 列表推导式是一种简洁、高效的创建列表的方法,可以用一行代码替代多行的 for 循环和 if 判断。

基本语法

```python

表达式 for 变量 in 可迭代对象 if 条件

```

· 表达式:对每个元素进行的操作,可以是变量本身,也可以是函数或运算。

· for 变量 in 可迭代对象:循环取元素。

· if 条件(可选):仅保留满足条件的元素。

示例

  1. 生成平方数列表

```python

squares = x\*\*2 for x in range(10)

0, 1, 4, 9, 16, 25, 36, 49, 64, 81

```

  1. 带条件过滤:只保留偶数

```python

evens = x for x in range(20) if x % 2 == 0

0, 2, 4, ..., 18

```

  1. 嵌套循环:生成坐标对

```python

pairs = (x, y) for x in range(3) for y in range(2)

(0,0), (0,1), (1,0), (1,1), (2,0), (2,1)

```

  1. 对元素进行运算并过滤

```python

result = x\*2 for x in range(10) if x \> 5

12, 14, 16, 18

```

优点

· 代码更紧凑:避免多行循环和临时列表。

· 执行速度快:底层由 C 实现,比普通 for 循环更快。

· 可读性好(当表达式简单时)。

注意事项

· 避免过度复杂(嵌套三层以上或表达式过长),以免降低可读性。复杂逻辑建议用普通循环。

· 列表推导式会一次性生成整个列表,如果数据量极大且只需逐个取值,考虑使用生成器表达式(小括号 ())。

需要更具体的例子或比较吗?

相关推荐
乐观勇敢坚强的老彭3 分钟前
2026全国青少年信息素养大赛(Python小学组)复赛复习讲义
python·算法·数学建模
北极星日淘15 分钟前
Python代理池动态适配日淘爬虫|解决高频抓取IP封禁终极方案(含完整源码)
爬虫·python·tcp/ip
popcorn_min29 分钟前
Breast Cancer 二分类实验:随机森林预测乳腺肿瘤良恶性
python
半只小闲鱼38 分钟前
合并多个excel文件到一个文件中
前端·python·数据分析
hikktn38 分钟前
ORA-01861 日期格式错误的根治方案:从 SQL 层到 Java 层的标准化治理
java·python·sql
lg_cool_43 分钟前
使用conda管理python运行环境并关联vscode
vscode·python·conda
宸津-代码粉碎机1 小时前
Spring AI企业级实战|智能记忆摘要+自动遗忘机制落地,彻底解决上下文爆炸与Token冗余
java·大数据·人工智能·后端·python·spring
乘浪初心1 小时前
python调用API接口,免费API调取,学习如何调取API接口并反馈你输入的内容
开发语言·python·api·免费
AI玫瑰助手1 小时前
Python模块:import导入模块与模块的搜索路径
android·开发语言·python
傻啦嘿哟1 小时前
一篇文章讲清楚Python的变量作用域
开发语言·python