列表推导式是一种简洁而强大的Python语法,可以快速创建和转换列表。它的基础语法为:[expression for item in iterable if condition]。其中,expression表示要创建或转换的表达式,item表示在iterable中迭代的变量名,iterable表示一个可迭代对象(如列表、元组、生成器等),if condition是一个可选的条件语句,用于过滤原迭代对象中的元素。下面是一个例子:
squares = [x*x for x in range(1, 11)]
该代码创建了一个新的列表squares,其中包含了1到10之间的每个数的平方。通过使用列表推导式,我们可以在一行代码中实现这个功能。
下面再来看几个实际应用的例子:
- 过滤列表中的元素
words = ['apple', 'banana', 'cherry', 'durian', 'elderberry']
long_words = [word for word in words if len(word) > 5]
该代码创建了一个新的列表long_words,其中包含了words中长度大于5的元素。
- 将两个列表的元素组合成一个新的列表
numbers = [1, 2, 3]
colors = ['red', 'green', 'blue']
combinations = [(n, color) for n in numbers for color in colors]
该代码使用嵌套的列表推导式创建了一个新的列表combinations,其中包含了每个数字和每个颜色的组合。
- 通过函数转换列表中的元素
numbers = [1, 2, 3, 4]
squares = [square(x) for x in numbers]
def square(x):
return x*x
该代码使用函数square将numbers列表中的每个元素转换为它的平方,并创建一个新的列表squares。
希望这些例子能帮助你更好地理解和应用 Python 中的列表推导式。