Python | 一文搞定列表推导式
列表推导式(List Comprehension)是一种简洁而强大的语法,用于从一个或多个可迭代对象中创建新的列表。
列表推导式的基本语法如下:
new_list = [expression for item in iterable if condition]
其中:
expression
是一个表达式,用于对每个元素进行处理或转换。item
是可迭代对象中的每个元素。iterable
是一个可迭代对象,如列表、字符串、元组等。condition
是一个可选的条件,用于过滤元素。
列表推导式会遍历可迭代对象中的每个元素,并根据给定的表达式对每个元素进行处理。最终,将处理后的结果组成一个新的列表。
举个例子,假设有一个存储了 1 到 5 的整数的列表 [1, 2, 3, 4, 5]
,我们想要创建一个新的列表,其中每个元素都是原列表元素的平方。可以使用列表推导式来实现:
original_list = [1, 2, 3, 4, 5]
squared_list = [x**2 for x in original_list]
print(squared_list)
# 输出: [1, 4, 9, 16, 25]
在这个例子中,表达式 x**2
对原列表中的每个元素进行平方操作,然后生成一个新的列表 squared_list
。
除了简洁性外,列表推导式还可以提高代码的可读性和效率。它可以代替使用循环和条件语句来创建新的列表,使代码更加紧凑和易于理解。
需要注意的是,虽然列表推导式非常方便,但当处理大量数据时,可能会对内存产生较大的负担。在这种情况下,可以考虑使用生成器表达式(Generator Expression)来节省内存空间。