温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

什么是Python列表推导式

发布时间:2026-09-24 23:48:52 来源:亿速云 阅读:108 作者:小樊 栏目:编程语言

Python 列表推导式(List Comprehension) 是一种用简洁语法快速生成列表(list)的方式,通常可以替代 for 循环和 append 操作。


一、基本语法

[表达式 for 变量 in 可迭代对象]

示例:

squares = [x * x for x in range(5)]
# 结果:[0, 1, 4, 9, 16]

等价于:

squares = []
for x in range(5):
    squares.append(x * x)

二、带条件的列表推导式

1. if 筛选(在末尾)

evens = [x for x in range(10) if x % 2 == 0]
# [0, 2, 4, 6, 8]

2. if-else(在表达式里)

labels = ["偶数" if x % 2 == 0 else "奇数" for x in range(5)]
# ['偶数', '奇数', '偶数', '奇数', '偶数']

三、嵌套循环

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)]

四、常见用途

  • 数据清洗
nums = ["1", "2", "3"]
ints = [int(x) for x in nums]
  • 字符串处理
upper = [s.upper() for s in ["a", "b", "c"]]
  • 矩阵处理
matrix = [[1, 2], [3, 4]]
flat = [num for row in matrix for num in row]
# [1, 2, 3, 4]

五、优点与注意点

✅ 优点:

  • 代码更简洁
  • 执行效率通常高于普通 for + append

⚠️ 注意:

  • 不要写太复杂的推导式(可读性差)
  • 超大数据集可考虑生成器表达式 ()
gen = (x * x for x in range(1000000))  # 节省内存

如果你愿意,我也可以讲 集合推导式、字典推导式、生成器表达式,或者给你出几道练习题。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手