列表推导(List Comprehension)是一种在Python中用于创建新列表的紧凑、简洁的语法结构。它允许您通过在单个表达式中定义循环和条件逻辑,从一个现有的可迭代对象(如列表、元组、字符串等)中创建新的列表。
列表推导的一般结构是:
new_list = [expression for item in iterable if condition]
其中:
new_list
是您要创建的新列表。expression
是一个表达式,用于对item
进行处理生成新的元素。item
是在可迭代对象中的每个元素。iterable
是您要遍历的可迭代对象(如列表、元组等)。condition
(可选)是一个条件表达式,用于过滤哪些元素会被包含在新列表中。
以下是一些示例,演示了列表推导的不同用法:
1.创建平方数列表:
squares = [x**2 for x in range(10)]
# 结果: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
2.提取字符串列表中长度大于等于 5 的单词:
words = ["apple", "banana", "grape", "orange", "kiwi"]
long_words = [word for word in words if len(word) >= 5]
# 结果: ['apple', 'banana', 'orange']
3.将两个列表中的对应元素相加:
numbers1 = [1, 2, 3, 4, 5]
numbers2 = [10, 20, 30, 40, 50]
sums = [x + y for x, y in zip(numbers1, numbers2)]
# 结果: [11, 22, 33, 44, 55]
列表推导使得代码更加紧凑和易读,但在使用时需要注意不要过于复杂,以保持代码的可读性。