列表推导式(List Comprehension)是一种简洁的语法结构,用于快速生成列表。它使用一行代码表示循环和条件语句,并返回一个列表。
列表推导式的语法结构如下:
[expression for item in iterable if condition]
其中,expression 是一个表达式,用于生成列表中的每个元素;item 是 iterable 中的每个元素;condition 是一个可选的条件语句,用于过滤 iterable 中的元素。
下面是一个简单的示例,演示如何使用列表推导式从一个列表中生成另一个列表:
# 生成一个列表,包含原列表中所有元素的平方
numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares) # 输出 [1, 4, 9, 16, 25]
在上面的代码中,我们使用列表推导式生成了一个新列表 squares,其中包含原列表 numbers 中所有元素的平方。
下面是另一个示例,演示如何使用列表推导式过滤一个列表中的元素:
# 生成一个列表,包含原列表中所有偶数的平方
numbers = [1, 2, 3, 4, 5]
even_squares = [x**2 for x in numbers if x % 2 == 0]
print(even_squares) # 输出 [4, 16]
在上面的代码中,我们使用列表推导式选出原列表 numbers 中的所有偶数,并计算它们的平方,最终生成一个新列表 even_squares。