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)
if 筛选(在末尾)evens = [x for x in range(10) if x % 2 == 0]
# [0, 2, 4, 6, 8]
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)) # 节省内存
如果你愿意,我也可以讲 集合推导式、字典推导式、生成器表达式,或者给你出几道练习题。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。