什么是列表推导式?
在 Python 中,列表推导式提供了一种创建列表的简洁方法。它们使您能够生成新列表,其中每个元素都派生自另一个可迭代对象(可以迭代的序列或容器)的元素。
列表推导式如何工作?
列表推导式由以下部分组成:
- 用于定义列表的方括号 ([])容器
- 迭代可迭代对象的 for 循环
- 对可迭代对象中的每个项目进行操作的表达式
理解的结果是一个列表,其中每个项目元素表示将表达式应用于每个项目的结果可迭代。
示例:
[x ** 2 for x in range(10)]
登录后复制
此推导式为 0 到 9 范围内的每个数字生成平方值列表,从而产生以下列表:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
登录后复制
超出列表推导式:
列表推导式可以扩展到其他数据结构。
-
集合推导式: 使用表达式定义的元素创建集合,例如, {x for x in range(10)}.
-
字典推导式: 使用表达式定义的键值对创建字典,例如 {key: value for key, value in items}。
-
生成器表达式: 创建生成器,其中是惰性迭代,例如 (x for x in range(10))。
利用列表推导式:
列表推导式提供多种用例,包括:
- 过滤:您可以使用它们根据条件有选择地创建列表,例如 [x for x in range(10) if x % 2 == 0].
- 映射:对每个元素应用操作,例如,[item.strip() for item in ['foo ', 'bar n']].
- 组合:组合来自多个可迭代的元素,例如,[d[x] for x in ['foo', 'baz']].
嵌套列表推导式:
多级 for 循环可用于列表推导式,例如 [j for x in [[1, 2, 3], [4, 5, 6]] for j in x],返回扁平版本
提示:
- 推导式中的表达式必须是有效的 Python 语法。
- 使用嵌套推导式时,外部 for 必须位于内部 for 之前。
- 列表推导式可以在函数内部使用不带方括号,例如 sum(i**2 for i in range(5)).
以上是Python 列表推导式如何工作以及它们的用途是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!