返回

Python 列表推导式:简明扼要地创建列表

后端

列表推导式的语法

列表推导式的语法如下:

[expression for item in iterable]
  • expression 是一个表达式,它将对 iterable 中的每个元素进行计算。
  • item 是一个变量,它表示 iterable 中的每个元素。
  • iterable 是一个可迭代对象,例如列表、元组或字符串。

例如,以下代码使用列表推导式创建了一个包含 1 到 10 的数字列表:

numbers = [x for x in range(1, 11)]

这个列表推导式等价于以下代码:

numbers = []
for x in range(1, 11):
    numbers.append(x)

列表推导式的应用案例

列表推导式可以用于各种各样的任务,包括:

  • 创建一个包含特定元素的列表
  • 过滤一个列表中的元素
  • 对一个列表中的元素进行映射
  • 对一个列表中的元素进行分组

以下是一些列表推导式的应用案例:

  • 创建一个包含 1 到 10 的偶数的列表:
even_numbers = [x for x in range(1, 11) if x % 2 == 0]
  • 过滤一个列表中的字符串,只保留长度大于 5 的字符串:
long_strings = [s for s in strings if len(s) > 5]
  • 对一个列表中的数字进行映射,将每个数字乘以 2:
doubled_numbers = [x * 2 for x in numbers]
  • 对一个列表中的字符串进行分组,将每个字符串按首字母分组:
grouped_strings = {letter: [s for s in strings if s[0] == letter] for letter in letters}

列表推导式的优点

列表推导式具有以下优点:

  • 简明扼要:列表推导式比传统的 for 循环更简明扼要。
  • 易于阅读:列表推导式易于阅读和理解。
  • 高效:列表推导式在某些情况下比传统的 for 循环更高效。

列表推导式的缺点

列表推导式也存在一些缺点:

  • 不支持嵌套循环:列表推导式不支持嵌套循环。
  • 不支持 break 和 continue 语句:列表推导式不支持 break 和 continue 语句。

结论

列表推导式是 Python 中一种强大的工具,可以用于创建列表。列表推导式简明扼要、易于阅读和理解,并且在某些情况下比传统的 for 循环更高效。然而,列表推导式也不支持嵌套循环和 break 和 continue 语句。