列表推导式

Note

列表推导式(List Comprehension)是 Python 中一种非常简洁且强大的语法结构,用于从一个可迭代对象(如列表、元组、字符串、字典、集合等)快速生成新的列表。它将循环和条件语句等逻辑封装在一个方括号内,使代码更加简洁易读。

基本语法

列表推导式的基本语法结构如下:

[expression for item in iterable if condition]

示例

1. 基本用法

2. 条件筛选

多层循环

复杂表达式

list1 = ["ab", "cd", "ef"]

output = [num.upper() for num in list1]

print(output)

优势

尽管使用列表推导式可以带来许多便利,但其也存在一些局限(或者说某些情况下不太适合使用):

Warning

  • 可读性:虽然列表推导式很强大,但过度使用或写得过于复杂可能会降低代码的可读性。在某些情况下,使用普通的循环结构可能更合适.
  • 内存消耗:列表推导式会一次性生成整个列表,如果生成的列表非常大,可能会消耗大量内存。在这种情况下,可以考虑使用生成器表达式(Generator Expression).

生成器表达式

生成器表达式与列表推导式类似,但生成的是一个生成器对象,而不是一个列表。生成器对象可以按需生成元素,从而节省内存。生成器表达式的语法如下:

(expression for item in iterable if condition)

例如,生成一个包含 1 到 10 的平方的生成器

list = (i**2 for i in range(1,11))
for num in list:
    print(num,end=" ")

关注 BeijiuX 公众号,查看更多内容.

weixin

转载请注明出处